summaryrefslogtreecommitdiff
path: root/SRC/cgeqrt.f
diff options
context:
space:
mode:
authorlangou <langou@users.noreply.github.com>2013-08-16 15:03:03 +0000
committerlangou <langou@users.noreply.github.com>2013-08-16 15:03:03 +0000
commite7c915724441cc7bab2d1b3acf6f289c844d6dbe (patch)
tree47518cb5711913217282588c138d1a96b04c1247 /SRC/cgeqrt.f
parent2c7f5d957a6ea86dcd16d349650915f45dbe594a (diff)
downloadlapack-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.f2
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