Mercurial > hg > octave-nkf
diff liboctave/fCMatrix.cc @ 10779:add87b12e63c
implement proper CGELSD/ZGELSD RWORK size formulas, as found in lapack SVN
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 09 Jul 2010 14:12:59 +0200 |
parents | 2786b7ae3f80 |
children | 8c858a1a2079 |
line wrap: on
line diff
--- a/liboctave/fCMatrix.cc +++ b/liboctave/fCMatrix.cc @@ -2639,10 +2639,9 @@ if (nlvl < 0) nlvl = 0; - nlvl += 1; // FIXME: workaround for bug in LAPACK 3.1.1 - octave_idx_type lrwork = minmn*(10 + 2*smlsiz + 8*nlvl) - + 3*smlsiz*nrhs + (smlsiz+1)*(smlsiz+1); + + 3*smlsiz*nrhs + std::max ((smlsiz+1)*(smlsiz+1), + n*(1+nrhs) + 2*nrhs); if (lrwork < 1) lrwork = 1; Array<float> rwork (lrwork, 1);