// void dgetrf_(int *m, int *n, double *A, int *lda, int *ipiv, int *info); func dgetrf(M, N int, A []float64, lda int, ipiv []int32) int { var info int = 0 C.dgetrf_((*C.int)(unsafe.Pointer(&M)), (*C.int)(unsafe.Pointer(&N)), (*C.double)(unsafe.Pointer(&A[0])), (*C.int)(unsafe.Pointer(&lda)), (*C.int)(unsafe.Pointer(&ipiv[0])), (*C.int)(unsafe.Pointer(&info))) return info }
func dgetrfHelper(m, n int, a []float64, lda int, ipiv []C.integer) error { var ( m_ = C.integer(m) n_ = C.integer(n) a_ = ptrFloat64(a) lda_ = C.integer(lda) ipiv_ = ptrInt(ipiv) ) var info_ C.integer C.dgetrf_(&m_, &n_, a_, &lda_, ipiv_, &info_) return dgetrfError(int(info_)) }