LAPACK Archives

[Lapack] [Lapack SVN] r657 - in /lapack/trunk/SRC: cgeesx.f dgeesx.f sge


---------- Forwarded message ----------
Date: Sun, 10 May 2009 14:45:08 -0600
Subject: [Lapack SVN] r657 - in /lapack/trunk/SRC: cgeesx.f dgeesx.f sgeesx.f
     zgeesx.f

Author: langou
Date: Sun May 10 16:45:07 2009
New Revision: 657

URL: https://icl.cs.utk.edu/trac/lapack-dev/changeset/657
Log:

Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to 
"lapack@Domain.Removed".
"(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.


Modified:
     lapack/trunk/SRC/cgeesx.f
     lapack/trunk/SRC/dgeesx.f
     lapack/trunk/SRC/sgeesx.f
     lapack/trunk/SRC/zgeesx.f

Modified: lapack/trunk/SRC/cgeesx.f
URL: 
https://icl.cs.utk.edu/trac/lapack-dev/file/lapack/trunk/SRC/cgeesx.f?rev=657
==============================================================================
--- lapack/trunk/SRC/cgeesx.f (original)
+++ lapack/trunk/SRC/cgeesx.f Sun May 10 16:45:07 2009
@@ -156,7 +156,7 @@
        PARAMETER          ( ZERO = 0.0E0, ONE = 1.0E0 )
  *     ..
  *     .. Local Scalars ..
-      LOGICAL            SCALEA, WANTSB, WANTSE, WANTSN, WANTST,
+      LOGICAL            LQUERY, SCALEA, WANTSB, WANTSE, WANTSN, WANTST,
       $                   WANTSV, WANTVS
        INTEGER            HSWORK, I, IBAL, ICOND, IERR, IEVAL, IHI, ILO,
       $                   ITAU, IWRK, LWRK, MAXWRK, MINWRK
@@ -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( 'CGEESX', -INFO )
           RETURN
+      ELSE IF( LQUERY ) THEN
+         RETURN
        END IF
  *
  *     Quick return if possible

Modified: lapack/trunk/SRC/dgeesx.f
URL: 
https://icl.cs.utk.edu/trac/lapack-dev/file/lapack/trunk/SRC/dgeesx.f?rev=657
==============================================================================
--- lapack/trunk/SRC/dgeesx.f (original)
+++ lapack/trunk/SRC/dgeesx.f Sun May 10 16:45:07 2009
@@ -226,6 +226,7 @@
        WANTSV = LSAME( SENSE, 'V' )
        WANTSB = LSAME( SENSE, 'B' )
        LQUERY = ( LWORK.EQ.-1 .OR. LIWORK.EQ.-1 )
+*
        IF( ( .NOT.WANTVS ) .AND. ( .NOT.LSAME( JOBVS, 'N' ) ) ) THEN
           INFO = -1
        ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN
@@ -294,6 +295,8 @@
        IF( INFO.NE.0 ) THEN
           CALL XERBLA( 'DGEESX', -INFO )
           RETURN
+      ELSE IF( LQUERY ) THEN
+         RETURN
        END IF
  *
  *     Quick return if possible

Modified: lapack/trunk/SRC/sgeesx.f
URL: 
https://icl.cs.utk.edu/trac/lapack-dev/file/lapack/trunk/SRC/sgeesx.f?rev=657
==============================================================================
--- lapack/trunk/SRC/sgeesx.f (original)
+++ lapack/trunk/SRC/sgeesx.f Sun May 10 16:45:07 2009
@@ -226,6 +226,7 @@
        WANTSV = LSAME( SENSE, 'V' )
        WANTSB = LSAME( SENSE, 'B' )
        LQUERY = ( LWORK.EQ.-1 .OR. LIWORK.EQ.-1 )
+*
        IF( ( .NOT.WANTVS ) .AND. ( .NOT.LSAME( JOBVS, 'N' ) ) ) THEN
           INFO = -1
        ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN
@@ -294,6 +295,8 @@
        IF( INFO.NE.0 ) THEN
           CALL XERBLA( 'SGEESX', -INFO )
           RETURN
+      ELSE IF( LQUERY ) THEN
+         RETURN
        END IF
  *
  *     Quick return if possible

Modified: lapack/trunk/SRC/zgeesx.f
URL: 
https://icl.cs.utk.edu/trac/lapack-dev/file/lapack/trunk/SRC/zgeesx.f?rev=657
==============================================================================
--- lapack/trunk/SRC/zgeesx.f (original)
+++ lapack/trunk/SRC/zgeesx.f Sun May 10 16:45:07 2009
@@ -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


<Prev in Thread] Current Thread [Next in Thread>
  • [Lapack] [Lapack SVN] r657 - in /lapack/trunk/SRC: cgeesx.f dgeesx.f sgeesx.f zgeesx.f (fwd), Julien Langou <=


For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or