Check for NaN in ?GECON (Reference-LAPACK PR765)
This commit is contained in:
parent
1c1e0682a0
commit
9b96990e5d
|
@ -106,6 +106,7 @@
|
||||||
*> INFO is INTEGER
|
*> INFO is INTEGER
|
||||||
*> = 0: successful exit
|
*> = 0: successful exit
|
||||||
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
||||||
|
*> =-5: if ANORM is NAN or negative.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -153,10 +154,10 @@
|
||||||
INTEGER ISAVE( 3 )
|
INTEGER ISAVE( 3 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, SISNAN
|
||||||
INTEGER ICAMAX
|
INTEGER ICAMAX
|
||||||
REAL SLAMCH
|
REAL SLAMCH
|
||||||
EXTERNAL LSAME, ICAMAX, SLAMCH
|
EXTERNAL LSAME, ICAMAX, SLAMCH, SISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL CLACN2, CLATRS, CSRSCL, XERBLA
|
EXTERNAL CLACN2, CLATRS, CSRSCL, XERBLA
|
||||||
|
@ -182,7 +183,7 @@
|
||||||
INFO = -2
|
INFO = -2
|
||||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||||
INFO = -4
|
INFO = -4
|
||||||
ELSE IF( ANORM.LT.ZERO ) THEN
|
ELSE IF( ANORM.LT.ZERO .OR. SISNAN( ANORM ) ) THEN
|
||||||
INFO = -5
|
INFO = -5
|
||||||
END IF
|
END IF
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
*> INFO is INTEGER
|
*> INFO is INTEGER
|
||||||
*> = 0: successful exit
|
*> = 0: successful exit
|
||||||
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
||||||
|
*> =-5: if ANORM is NAN or negative.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -152,10 +153,10 @@
|
||||||
INTEGER ISAVE( 3 )
|
INTEGER ISAVE( 3 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, DISNAN
|
||||||
INTEGER IDAMAX
|
INTEGER IDAMAX
|
||||||
DOUBLE PRECISION DLAMCH
|
DOUBLE PRECISION DLAMCH
|
||||||
EXTERNAL LSAME, IDAMAX, DLAMCH
|
EXTERNAL LSAME, IDAMAX, DLAMCH, DISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL DLACN2, DLATRS, DRSCL, XERBLA
|
EXTERNAL DLACN2, DLATRS, DRSCL, XERBLA
|
||||||
|
@ -175,7 +176,7 @@
|
||||||
INFO = -2
|
INFO = -2
|
||||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||||
INFO = -4
|
INFO = -4
|
||||||
ELSE IF( ANORM.LT.ZERO ) THEN
|
ELSE IF( ANORM.LT.ZERO .OR. DISNAN( ANORM ) ) THEN
|
||||||
INFO = -5
|
INFO = -5
|
||||||
END IF
|
END IF
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
*> INFO is INTEGER
|
*> INFO is INTEGER
|
||||||
*> = 0: successful exit
|
*> = 0: successful exit
|
||||||
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
||||||
|
*> =-5: if ANORM is NAN or negative.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -152,10 +153,10 @@
|
||||||
INTEGER ISAVE( 3 )
|
INTEGER ISAVE( 3 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, SISNAN
|
||||||
INTEGER ISAMAX
|
INTEGER ISAMAX
|
||||||
REAL SLAMCH
|
REAL SLAMCH
|
||||||
EXTERNAL LSAME, ISAMAX, SLAMCH
|
EXTERNAL LSAME, ISAMAX, SLAMCH, SISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SLACN2, SLATRS, SRSCL, XERBLA
|
EXTERNAL SLACN2, SLATRS, SRSCL, XERBLA
|
||||||
|
@ -175,7 +176,7 @@
|
||||||
INFO = -2
|
INFO = -2
|
||||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||||
INFO = -4
|
INFO = -4
|
||||||
ELSE IF( ANORM.LT.ZERO ) THEN
|
ELSE IF( ANORM.LT.ZERO .OR. SISNAN( ANORM ) ) THEN
|
||||||
INFO = -5
|
INFO = -5
|
||||||
END IF
|
END IF
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
*> INFO is INTEGER
|
*> INFO is INTEGER
|
||||||
*> = 0: successful exit
|
*> = 0: successful exit
|
||||||
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
*> < 0: if INFO = -i, the i-th argument had an illegal value
|
||||||
|
*> =-5: if ANORM is NAN or negative.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -153,10 +154,10 @@
|
||||||
INTEGER ISAVE( 3 )
|
INTEGER ISAVE( 3 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, DISNAN
|
||||||
INTEGER IZAMAX
|
INTEGER IZAMAX
|
||||||
DOUBLE PRECISION DLAMCH
|
DOUBLE PRECISION DLAMCH
|
||||||
EXTERNAL LSAME, IZAMAX, DLAMCH
|
EXTERNAL LSAME, IZAMAX, DLAMCH, DISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL XERBLA, ZDRSCL, ZLACN2, ZLATRS
|
EXTERNAL XERBLA, ZDRSCL, ZLACN2, ZLATRS
|
||||||
|
@ -182,7 +183,7 @@
|
||||||
INFO = -2
|
INFO = -2
|
||||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||||
INFO = -4
|
INFO = -4
|
||||||
ELSE IF( ANORM.LT.ZERO ) THEN
|
ELSE IF( ANORM.LT.ZERO .OR. DISNAN( ANORM ) ) THEN
|
||||||
INFO = -5
|
INFO = -5
|
||||||
END IF
|
END IF
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
|
Loading…
Reference in New Issue