|
|
|
@ -290,7 +290,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste |
|
|
|
|
else if (typeid(fptype) == typeid(double)) |
|
|
|
|
dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info); |
|
|
|
|
|
|
|
|
|
lwork = (int)round(work1); //optimal buffer size
|
|
|
|
|
lwork = cvRound(work1); //optimal buffer size
|
|
|
|
|
std::vector<fptype> workBufMemHolder(lwork + 1); |
|
|
|
|
fptype* buffer = &workBufMemHolder.front(); |
|
|
|
|
|
|
|
|
@ -311,7 +311,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste |
|
|
|
|
else if (typeid(fptype) == typeid(double)) |
|
|
|
|
dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info); |
|
|
|
|
|
|
|
|
|
lwork = (int)round(work1); //optimal buffer size
|
|
|
|
|
lwork = cvRound(work1); //optimal buffer size
|
|
|
|
|
std::vector<fptype> workBufMemHolder(lwork + 1); |
|
|
|
|
fptype* buffer = &workBufMemHolder.front(); |
|
|
|
|
|
|
|
|
@ -330,7 +330,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste |
|
|
|
|
else if (typeid(fptype) == typeid(double)) |
|
|
|
|
dgeqrf_(&m, &n, (double*)tmpA, &ldtmpA, (double*)dst, (double*)&work1, &lwork, info); |
|
|
|
|
|
|
|
|
|
lwork = (int)round(work1); //optimal buffer size
|
|
|
|
|
lwork = cvRound(work1); //optimal buffer size
|
|
|
|
|
std::vector<fptype> workBufMemHolder(lwork + 1); |
|
|
|
|
fptype* buffer = &workBufMemHolder.front(); |
|
|
|
|
|
|
|
|
|