diff options
author | langou <langou@users.noreply.github.com> | 2013-08-16 15:03:03 +0000 |
---|---|---|
committer | langou <langou@users.noreply.github.com> | 2013-08-16 15:03:03 +0000 |
commit | e7c915724441cc7bab2d1b3acf6f289c844d6dbe (patch) | |
tree | 47518cb5711913217282588c138d1a96b04c1247 /SRC/cgeqrt.f | |
parent | 2c7f5d957a6ea86dcd16d349650915f45dbe594a (diff) | |
download | lapack-e7c915724441cc7bab2d1b3acf6f289c844d6dbe.tar.gz lapack-e7c915724441cc7bab2d1b3acf6f289c844d6dbe.tar.bz2 lapack-e7c915724441cc7bab2d1b3acf6f289c844d6dbe.zip |
Fix from Lawrence Mulholland (NAG).
From Lawrence:
The *GEQRT routines are supposed to return immediately when N=0 or M=0.
However the code is such that an INFO = -3 is triggered since we are
trying to satisfy
ELSE IF( NB.LT.1 .OR. NB.GT.MIN(M,N) )THEN
INFO = -3
should be
ELSE IF( NB.LT.1 .OR. ( NB.GT.MIN(M,N) .AND. MIN(M,N).LT.0 ) )THEN
INFO = -3
Also on a side note, I think we could allow NB to be greater than MIN(M,N) in
the interface and then reset NB as needed if the user's NB is too large.
Another day. Good enough for now.
Julien.
Diffstat (limited to 'SRC/cgeqrt.f')
-rw-r--r-- | SRC/cgeqrt.f | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/SRC/cgeqrt.f b/SRC/cgeqrt.f index e1ee0011..f8911af2 100644 --- a/SRC/cgeqrt.f +++ b/SRC/cgeqrt.f @@ -173,7 +173,7 @@ INFO = -1 ELSE IF( N.LT.0 ) THEN INFO = -2 - ELSE IF( NB.LT.1 .OR. NB.GT.MIN(M,N) ) THEN + ELSE IF( NB.LT.1 .OR. ( NB.GT.MIN(M,N) .AND. MIN(M,N).LT.0 ) )THEN INFO = -3 ELSE IF( LDA.LT.MAX( 1, M ) ) THEN INFO = -5 |