code: func (impl *Standard) Dspr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, aP []float64) {
  	// declared at cublasgen.h:1226:17 enum CUBLAS_STATUS { ... } cublasDspr ...
  	if impl.e != nil {
  		return
  	}
  
  	if n < 0 {
  		panic("blas: n < 0")
  	}
  	if incX == 0 {
  		panic("blas: zero x index increment")
  	}
  	if (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {
  		panic("blas: x index out of range")
  	}
  	if n == 0 {
  		return
  	}
  	impl.e = status(C.cublasDspr(C.cublasHandle_t(impl.h), uplo2cublasUplo(ul), C.int(n), (*C.double)(&alpha), (*C.double)(&x[0]), C.int(incX), (*C.double)(&aP[0])))
  }
docs: // Dspr computes the rank-one operation
  //  a += alpha * x * x^T
  // where a is an n×n symmetric matrix in packed format, x is a vector, and
  // alpha is a scalar.