diff options
author | langou <langou@users.noreply.github.com> | 2009-05-10 20:45:07 +0000 |
---|---|---|
committer | langou <langou@users.noreply.github.com> | 2009-05-10 20:45:07 +0000 |
commit | 12483e500fcc6cd69d43dffc51b4cda2f172c36a (patch) | |
tree | 84f00d80c5a6f7304ee21570eaba5696c835f212 /SRC/zgeesx.f | |
parent | 7e19748f6c17e0249f2b5825655d6abd78fc09cd (diff) | |
download | lapack-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.f | 10 |
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 |