#include <flens/lapack/interface/include/config.h>
namespace flens { namespace lapack { extern "C" { //-- dgbtrf -------------------------------------------------------------------- void LAPACK_DECL(dgbtrf)(const INTEGER *M, const INTEGER *N, const INTEGER *KL, const INTEGER *KU, DOUBLE *AB, const INTEGER *LDAB, INTEGER *IPIV, INTEGER *INFO) { using std::min; // // Test the input parameters so that we pass LAPACK error checks // INTEGER KV = *KU + *KL; *INFO = 0; if (*M<0) { *INFO = -1; } else if (*N<0) { *INFO = -2; } else if (*KL<0) { *INFO = -3; } else if (*KU<0) { *INFO = -4; } else if (*LDAB<*KL+KV+1) { *INFO = -6; } if (*INFO!=0) { *INFO = -(*INFO); LAPACK_ERROR("DGBTRF", INFO); *INFO = -(*INFO); return; } // // Call FLENS implementation // INTEGER MN = min(*M,*N); DGbMatrixView A = DBSView(*M, *N, *KL, KV, AB, *LDAB); IDenseVectorView piv = IArrayView(MN, IPIV, 1); *INFO = trf(A, piv); } } // extern "C" } } // namespace lapack, flens |