follow @angsch idea - add a check for NaN in input matrix A in geev
see issue #1128
This commit is contained in:
+5
-1
@@ -217,7 +217,7 @@
|
||||
$ CTREVC3, CUNGHR
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
LOGICAL LSAME
|
||||
LOGICAL LSAME, SISNAN
|
||||
INTEGER ISAMAX, ILAENV
|
||||
REAL SLAMCH, SCNRM2, CLANGE,
|
||||
$ SROUNDUP_LWORK
|
||||
@@ -335,6 +335,10 @@
|
||||
ELSE IF( ANRM.GT.BIGNUM ) THEN
|
||||
SCALEA = .TRUE.
|
||||
CSCALE = BIGNUM
|
||||
ELSE IF( SISNAN( ANRM ) ) THEN
|
||||
INFO = -4
|
||||
CALL XERBLA( 'CGEEV ', -INFO )
|
||||
RETURN
|
||||
END IF
|
||||
IF( SCALEA )
|
||||
$ CALL CLASCL( 'G', 0, 0, ANRM, CSCALE, N, N, A, LDA, IERR )
|
||||
|
||||
+5
-1
@@ -227,7 +227,7 @@
|
||||
$ DLASCL, DORGHR, DROT, DSCAL, DTREVC3, XERBLA
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
LOGICAL LSAME
|
||||
LOGICAL LSAME, DISNAN
|
||||
INTEGER IDAMAX, ILAENV
|
||||
DOUBLE PRECISION DLAMCH, DLANGE, DLAPY2, DNRM2
|
||||
EXTERNAL LSAME, IDAMAX, ILAENV, DLAMCH, DLANGE,
|
||||
@@ -353,6 +353,10 @@
|
||||
ELSE IF( ANRM.GT.BIGNUM ) THEN
|
||||
SCALEA = .TRUE.
|
||||
CSCALE = BIGNUM
|
||||
ELSE IF( DISNAN( ANRM ) ) THEN
|
||||
INFO = -4
|
||||
CALL XERBLA( 'DGEEV ', -INFO )
|
||||
RETURN
|
||||
END IF
|
||||
IF( SCALEA )
|
||||
$ CALL DLASCL( 'G', 0, 0, ANRM, CSCALE, N, N, A, LDA, IERR )
|
||||
|
||||
+5
-1
@@ -228,7 +228,7 @@
|
||||
$ SSCAL, STREVC3, XERBLA
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
LOGICAL LSAME
|
||||
LOGICAL LSAME, SISNAN
|
||||
INTEGER ISAMAX, ILAENV
|
||||
REAL SLAMCH, SLANGE, SLAPY2, SNRM2,
|
||||
$ SROUNDUP_LWORK
|
||||
@@ -355,6 +355,10 @@
|
||||
ELSE IF( ANRM.GT.BIGNUM ) THEN
|
||||
SCALEA = .TRUE.
|
||||
CSCALE = BIGNUM
|
||||
ELSE IF( SISNAN( ANRM ) ) THEN
|
||||
INFO = -4
|
||||
CALL XERBLA( 'SGEEV ', -INFO )
|
||||
RETURN
|
||||
END IF
|
||||
IF( SCALEA )
|
||||
$ CALL SLASCL( 'G', 0, 0, ANRM, CSCALE, N, N, A, LDA, IERR )
|
||||
|
||||
+5
-1
@@ -216,7 +216,7 @@
|
||||
$ ZLACPY, ZLASCL, ZSCAL, ZTREVC3, ZUNGHR
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
LOGICAL LSAME
|
||||
LOGICAL LSAME, DISNAN
|
||||
INTEGER IDAMAX, ILAENV
|
||||
DOUBLE PRECISION DLAMCH, DZNRM2, ZLANGE
|
||||
EXTERNAL LSAME, IDAMAX, ILAENV, DLAMCH, DZNRM2,
|
||||
@@ -332,6 +332,10 @@
|
||||
ELSE IF( ANRM.GT.BIGNUM ) THEN
|
||||
SCALEA = .TRUE.
|
||||
CSCALE = BIGNUM
|
||||
ELSE IF( DISNAN( ANRM ) ) THEN
|
||||
INFO = -4
|
||||
CALL XERBLA( 'ZGEEV ', -INFO )
|
||||
RETURN
|
||||
END IF
|
||||
IF( SCALEA )
|
||||
$ CALL ZLASCL( 'G', 0, 0, ANRM, CSCALE, N, N, A, LDA, IERR )
|
||||
|
||||
Reference in New Issue
Block a user