summaryrefslogtreecommitdiff
path: root/SRC/zgeesx.f
diff options
context:
space:
mode:
authorlangou <langou@users.noreply.github.com>2009-05-10 20:45:07 +0000
committerlangou <langou@users.noreply.github.com>2009-05-10 20:45:07 +0000
commit12483e500fcc6cd69d43dffc51b4cda2f172c36a (patch)
tree84f00d80c5a6f7304ee21570eaba5696c835f212 /SRC/zgeesx.f
parent7e19748f6c17e0249f2b5825655d6abd78fc09cd (diff)
downloadlapack-12483e500fcc6cd69d43dffc51b4cda2f172c36a.tar.gz
lapack-12483e500fcc6cd69d43dffc51b4cda2f172c36a.tar.bz2
lapack-12483e500fcc6cd69d43dffc51b4cda2f172c36a.zip
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu".
"(c/z)geesx: no lwork=-1 branch at all, info = -15 is returned while doing lquery." I noticed that the S and D version where not exiting after WORKSPACE query as well. Thanks Alexander. Bug corrected.
Diffstat (limited to 'SRC/zgeesx.f')
-rw-r--r--SRC/zgeesx.f10
1 files changed, 7 insertions, 3 deletions
diff --git a/SRC/zgeesx.f b/SRC/zgeesx.f
index 98af9a38..c5978f57 100644
--- a/SRC/zgeesx.f
+++ b/SRC/zgeesx.f
@@ -156,8 +156,8 @@
PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 )
* ..
* .. Local Scalars ..
- LOGICAL SCALEA, WANTSB, WANTSE, WANTSN, WANTST, WANTSV,
- $ WANTVS
+ LOGICAL LQUERY, SCALEA, WANTSB, WANTSE, WANTSN, WANTST,
+ $ WANTSV, WANTVS
INTEGER HSWORK, I, IBAL, ICOND, IERR, IEVAL, IHI, ILO,
$ ITAU, IWRK, LWRK, MAXWRK, MINWRK
DOUBLE PRECISION ANRM, BIGNUM, CSCALE, EPS, SMLNUM
@@ -189,6 +189,8 @@
WANTSE = LSAME( SENSE, 'E' )
WANTSV = LSAME( SENSE, 'V' )
WANTSB = LSAME( SENSE, 'B' )
+ LQUERY = ( LWORK.EQ.-1 )
+*
IF( ( .NOT.WANTVS ) .AND. ( .NOT.LSAME( JOBVS, 'N' ) ) ) THEN
INFO = -1
ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN
@@ -243,7 +245,7 @@
END IF
WORK( 1 ) = LWRK
*
- IF( LWORK.LT.MINWRK ) THEN
+ IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
INFO = -15
END IF
END IF
@@ -251,6 +253,8 @@
IF( INFO.NE.0 ) THEN
CALL XERBLA( 'ZGEESX', -INFO )
RETURN
+ ELSE IF( LQUERY ) THEN
+ RETURN
END IF
*
* Quick return if possible