Merge pull request #3211 from martin-frbg/lapack471
Handle norm NaN value in xGESDD (Reference LAPACK PR471)
This commit is contained in:
commit
b67a92c19f
|
@ -281,9 +281,9 @@
|
||||||
$ CUNGQR, CUNMBR, SBDSDC, SLASCL, XERBLA
|
$ CUNGQR, CUNMBR, SBDSDC, SLASCL, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, SISNAN
|
||||||
REAL SLAMCH, CLANGE
|
REAL SLAMCH, CLANGE
|
||||||
EXTERNAL LSAME, SLAMCH, CLANGE
|
EXTERNAL LSAME, SLAMCH, CLANGE, SISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN, SQRT
|
INTRINSIC INT, MAX, MIN, SQRT
|
||||||
|
@ -647,6 +647,10 @@
|
||||||
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
ANRM = CLANGE( 'M', M, N, A, LDA, DUM )
|
ANRM = CLANGE( 'M', M, N, A, LDA, DUM )
|
||||||
|
IF( SISNAN ( ANRM ) ) THEN
|
||||||
|
INFO = -4
|
||||||
|
RETURN
|
||||||
|
END IF
|
||||||
ISCL = 0
|
ISCL = 0
|
||||||
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
||||||
ISCL = 1
|
ISCL = 1
|
||||||
|
|
|
@ -267,9 +267,9 @@
|
||||||
$ XERBLA
|
$ XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, DISNAN
|
||||||
DOUBLE PRECISION DLAMCH, DLANGE
|
DOUBLE PRECISION DLAMCH, DLANGE
|
||||||
EXTERNAL DLAMCH, DLANGE, LSAME
|
EXTERNAL DLAMCH, DLANGE, LSAME, DISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN, SQRT
|
INTRINSIC INT, MAX, MIN, SQRT
|
||||||
|
@ -599,6 +599,10 @@
|
||||||
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
ANRM = DLANGE( 'M', M, N, A, LDA, DUM )
|
ANRM = DLANGE( 'M', M, N, A, LDA, DUM )
|
||||||
|
IF( DISNAN( ANRM ) ) THEN
|
||||||
|
INFO = -4
|
||||||
|
RETURN
|
||||||
|
END IF
|
||||||
ISCL = 0
|
ISCL = 0
|
||||||
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
||||||
ISCL = 1
|
ISCL = 1
|
||||||
|
|
|
@ -267,9 +267,9 @@
|
||||||
$ XERBLA
|
$ XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, SISNAN
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE
|
||||||
EXTERNAL SLAMCH, SLANGE, LSAME
|
EXTERNAL SLAMCH, SLANGE, LSAME, SISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN, SQRT
|
INTRINSIC INT, MAX, MIN, SQRT
|
||||||
|
@ -599,6 +599,10 @@
|
||||||
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
ANRM = SLANGE( 'M', M, N, A, LDA, DUM )
|
ANRM = SLANGE( 'M', M, N, A, LDA, DUM )
|
||||||
|
IF( SISNAN( ANRM ) ) THEN
|
||||||
|
INFO = -4
|
||||||
|
RETURN
|
||||||
|
END IF
|
||||||
ISCL = 0
|
ISCL = 0
|
||||||
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
||||||
ISCL = 1
|
ISCL = 1
|
||||||
|
|
|
@ -281,9 +281,9 @@
|
||||||
$ ZLASET, ZUNGBR, ZUNGLQ, ZUNGQR, ZUNMBR
|
$ ZLASET, ZUNGBR, ZUNGLQ, ZUNGQR, ZUNMBR
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME, DISNAN
|
||||||
DOUBLE PRECISION DLAMCH, ZLANGE
|
DOUBLE PRECISION DLAMCH, ZLANGE
|
||||||
EXTERNAL LSAME, DLAMCH, ZLANGE
|
EXTERNAL LSAME, DLAMCH, ZLANGE, DISNAN
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN, SQRT
|
INTRINSIC INT, MAX, MIN, SQRT
|
||||||
|
@ -647,6 +647,10 @@
|
||||||
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
* Scale A if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
ANRM = ZLANGE( 'M', M, N, A, LDA, DUM )
|
ANRM = ZLANGE( 'M', M, N, A, LDA, DUM )
|
||||||
|
IF( DISNAN( ANRM ) ) THEN
|
||||||
|
INFO = -4
|
||||||
|
RETURN
|
||||||
|
END IF
|
||||||
ISCL = 0
|
ISCL = 0
|
||||||
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
IF( ANRM.GT.ZERO .AND. ANRM.LT.SMLNUM ) THEN
|
||||||
ISCL = 1
|
ISCL = 1
|
||||||
|
|
Loading…
Reference in New Issue