follow @angsch idea - add a check for NaN in input matrix A in geev

see issue #1128
This commit is contained in:
Julien Langou
2025-06-15 12:15:39 -06:00
parent 25802f27dd
commit 0918f47cbd
4 changed files with 20 additions and 4 deletions
+5 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 )