DLLEXPORT int c_cholesky_factor(int n, Complex8 a[]){ int info = clapack_cpotrf(CblasColMajor, CblasLower, n, a, n); Complex8 zero; zero.real = 0.0; zero.real = 0.0; for (int i = 0; i < n; ++i) { int index = i * n; for (int j = 0; j < n && i > j; ++j) { a[index + j] = zero; } } return info; }
inline int potrf( CBLAS_ORDER const Order, CBLAS_UPLO const Uplo, int const N, std::complex<float>* A, int const lda ) { return clapack_cpotrf(Order, Uplo, N, static_cast<void *>(A), lda); }
inline std::ptrdiff_t potrf( Order, const UpLo, const int n, std::complex<float>* a, const int lda ) { return clapack_cpotrf( clapack_option< Order >::value, clapack_option< UpLo >::value, n, a, lda ); }