Mercurial > hg > octave-thorsten
changeset 10813:2c2d4a2f1047
fix workspace bug workaround for xGELSD (since 7486:6a6d2abe51ff)
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Thu, 22 Jul 2010 09:54:03 +0200 |
parents | 5b68000faac1 |
children | 83896a06adaf |
files | liboctave/CMatrix.cc liboctave/ChangeLog liboctave/dMatrix.cc liboctave/fCMatrix.cc liboctave/fMatrix.cc |
diffstat | 5 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/CMatrix.cc +++ b/liboctave/CMatrix.cc @@ -2653,7 +2653,7 @@ // through 3.1.1 when n >= mnthr. The obtuse formula below // should provide sufficient workspace for ZGELSD to operate // efficiently. - if (n >= mnthr) + if (n > m && n >= mnthr) { octave_idx_type addend = m;
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,10 @@ +2010-07-22 Jaroslav Hajek <highegg@gmail.com> + + * dMatrix.cc (Matrix::lssolve): Fix decision test for workaround. + * fMatrix.cc (FloatMatrix::lssolve): Ditto. + * CMatrix.cc (ComplexMatrix::lssolve): Ditto. + * fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto. + 2010-07-20 Jaroslav Hajek <highegg@gmail.com> * dim-vector.cc (dim_vector::dim_max): New static const member.
--- a/liboctave/dMatrix.cc +++ b/liboctave/dMatrix.cc @@ -2294,7 +2294,7 @@ // through 3.1.1 when n >= mnthr. The obtuse formula below // should provide sufficient workspace for DGELSD to operate // efficiently. - if (n >= mnthr) + if (n > m && n >= mnthr) { const octave_idx_type wlalsd = 9*m + 2*m*smlsiz + 8*m*nlvl + m*nrhs + (smlsiz+1)*(smlsiz+1);
--- a/liboctave/fCMatrix.cc +++ b/liboctave/fCMatrix.cc @@ -2646,7 +2646,7 @@ // through 3.1.1 when n >= mnthr. The obtuse formula below // should provide sufficient workspace for ZGELSD to operate // efficiently. - if (n >= mnthr) + if (n > m && n >= mnthr) { octave_idx_type addend = m;
--- a/liboctave/fMatrix.cc +++ b/liboctave/fMatrix.cc @@ -2293,7 +2293,7 @@ // through 3.1.1 when n >= mnthr. The obtuse formula below // should provide sufficient workspace for DGELSD to operate // efficiently. - if (n >= mnthr) + if (n > m && n >= mnthr) { const octave_idx_type wlalsd = 9*m + 2*m*smlsiz + 8*m*nlvl + m*nrhs + (smlsiz+1)*(smlsiz+1);