version 1.3, 2010/08/06 15:28:51
|
version 1.5, 2010/08/07 13:18:08
|
Line 2
|
Line 2
|
$ VS, LDVS, RCONDE, RCONDV, WORK, LWORK, RWORK, |
$ VS, LDVS, RCONDE, RCONDV, WORK, LWORK, RWORK, |
$ BWORK, INFO ) |
$ BWORK, INFO ) |
* |
* |
* -- LAPACK driver routine (version 3.2) -- |
* -- LAPACK driver routine (version 3.2.2) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2006 |
* June 2010 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER JOBVS, SENSE, SORT |
CHARACTER JOBVS, SENSE, SORT |
Line 156
|
Line 156
|
PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 ) |
PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 ) |
* .. |
* .. |
* .. Local Scalars .. |
* .. Local Scalars .. |
LOGICAL SCALEA, WANTSB, WANTSE, WANTSN, WANTST, WANTSV, |
LOGICAL LQUERY, SCALEA, WANTSB, WANTSE, WANTSN, WANTST, |
$ WANTVS |
$ WANTSV, WANTVS |
INTEGER HSWORK, I, IBAL, ICOND, IERR, IEVAL, IHI, ILO, |
INTEGER HSWORK, I, IBAL, ICOND, IERR, IEVAL, IHI, ILO, |
$ ITAU, IWRK, LWRK, MAXWRK, MINWRK |
$ ITAU, IWRK, LWRK, MAXWRK, MINWRK |
DOUBLE PRECISION ANRM, BIGNUM, CSCALE, EPS, SMLNUM |
DOUBLE PRECISION ANRM, BIGNUM, CSCALE, EPS, SMLNUM |
Line 189
|
Line 189
|
WANTSE = LSAME( SENSE, 'E' ) |
WANTSE = LSAME( SENSE, 'E' ) |
WANTSV = LSAME( SENSE, 'V' ) |
WANTSV = LSAME( SENSE, 'V' ) |
WANTSB = LSAME( SENSE, 'B' ) |
WANTSB = LSAME( SENSE, 'B' ) |
|
LQUERY = ( LWORK.EQ.-1 ) |
|
* |
IF( ( .NOT.WANTVS ) .AND. ( .NOT.LSAME( JOBVS, 'N' ) ) ) THEN |
IF( ( .NOT.WANTVS ) .AND. ( .NOT.LSAME( JOBVS, 'N' ) ) ) THEN |
INFO = -1 |
INFO = -1 |
ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN |
ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN |
Line 243
|
Line 245
|
END IF |
END IF |
WORK( 1 ) = LWRK |
WORK( 1 ) = LWRK |
* |
* |
IF( LWORK.LT.MINWRK ) THEN |
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN |
INFO = -15 |
INFO = -15 |
END IF |
END IF |
END IF |
END IF |
Line 251
|
Line 253
|
IF( INFO.NE.0 ) THEN |
IF( INFO.NE.0 ) THEN |
CALL XERBLA( 'ZGEESX', -INFO ) |
CALL XERBLA( 'ZGEESX', -INFO ) |
RETURN |
RETURN |
|
ELSE IF( LQUERY ) THEN |
|
RETURN |
END IF |
END IF |
* |
* |
* Quick return if possible |
* Quick return if possible |