changeset 10708:2786b7ae3f80

workaround bug #30044 (likely in LAPACK)
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 16 Jun 2010 14:36:23 +0200
parents 69c5f5ec55d7
children 92a85ed5b86e
files liboctave/CMatrix.cc liboctave/ChangeLog liboctave/fCMatrix.cc
diffstat 3 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/CMatrix.cc	Wed Jun 16 12:54:38 2010 +0200
+++ b/liboctave/CMatrix.cc	Wed Jun 16 14:36:23 2010 +0200
@@ -2646,6 +2646,8 @@
       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);
       if (lrwork < 1)
--- a/liboctave/ChangeLog	Wed Jun 16 12:54:38 2010 +0200
+++ b/liboctave/ChangeLog	Wed Jun 16 14:36:23 2010 +0200
@@ -1,3 +1,10 @@
+2010-06-16  Jaroslav Hajek  <highegg@gmail.com>
+
+	* CMatrix.cc (ComplexMatrix::lssolve (const ComplexMatrix&)):
+	Workaround LAPACK bug.
+	* fCMatrix.cc (FloatComplexMatrix::lssolve (const FloatComplexMatrix&)):
+	Ditto.
+
 2010-06-14  Jaroslav Hajek  <highegg@gmail.com>
 
 	* Array.cc (Array::sort, Array::nth_element): Fix behavior when
--- a/liboctave/fCMatrix.cc	Wed Jun 16 12:54:38 2010 +0200
+++ b/liboctave/fCMatrix.cc	Wed Jun 16 14:36:23 2010 +0200
@@ -2639,6 +2639,8 @@
       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);
       if (lrwork < 1)