Merge pull request #3210 from martin-frbg/lapack502
Fix possible division by zero in LAPACK xTGSJA (Reference-LAPACK PR502)
This commit is contained in:
commit
37d3e2bd94
|
@ -401,7 +401,7 @@
|
|||
* .. Parameters ..
|
||||
INTEGER MAXIT
|
||||
PARAMETER ( MAXIT = 40 )
|
||||
REAL ZERO, ONE
|
||||
REAL ZERO, ONE, HUGENUM
|
||||
PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
|
||||
COMPLEX CZERO, CONE
|
||||
PARAMETER ( CZERO = ( 0.0E+0, 0.0E+0 ),
|
||||
|
@ -424,7 +424,8 @@
|
|||
$ SLARTG, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC ABS, CONJG, MAX, MIN, REAL
|
||||
INTRINSIC ABS, CONJG, MAX, MIN, REAL, HUGE
|
||||
PARAMETER ( HUGENUM = HUGE(ZERO) )
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
|
@ -610,9 +611,9 @@
|
|||
*
|
||||
A1 = REAL( A( K+I, N-L+I ) )
|
||||
B1 = REAL( B( I, N-L+I ) )
|
||||
GAMMA = B1 / A1
|
||||
*
|
||||
IF( A1.NE.ZERO ) THEN
|
||||
GAMMA = B1 / A1
|
||||
IF( (GAMMA.LE.HUGENUM).AND.(GAMMA.GE.-HUGENUM) ) THEN
|
||||
*
|
||||
IF( GAMMA.LT.ZERO ) THEN
|
||||
CALL CSSCAL( L-I+1, -ONE, B( I, N-L+I ), LDB )
|
||||
|
|
|
@ -400,7 +400,7 @@
|
|||
* .. Parameters ..
|
||||
INTEGER MAXIT
|
||||
PARAMETER ( MAXIT = 40 )
|
||||
DOUBLE PRECISION ZERO, ONE
|
||||
DOUBLE PRECISION ZERO, ONE, HUGENUM
|
||||
PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
|
@ -419,7 +419,8 @@
|
|||
$ DSCAL, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC ABS, MAX, MIN
|
||||
INTRINSIC ABS, MAX, MIN, HUGE
|
||||
PARAMETER ( HUGENUM = HUGE(ZERO) )
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
|
@ -596,9 +597,9 @@
|
|||
*
|
||||
A1 = A( K+I, N-L+I )
|
||||
B1 = B( I, N-L+I )
|
||||
GAMMA = B1 / A1
|
||||
*
|
||||
IF( A1.NE.ZERO ) THEN
|
||||
GAMMA = B1 / A1
|
||||
IF( (GAMMA.LE.HUGENUM).AND.(GAMMA.GE.-HUGENUM) ) THEN
|
||||
*
|
||||
* change sign if necessary
|
||||
*
|
||||
|
|
|
@ -400,7 +400,7 @@
|
|||
* .. Parameters ..
|
||||
INTEGER MAXIT
|
||||
PARAMETER ( MAXIT = 40 )
|
||||
REAL ZERO, ONE
|
||||
REAL ZERO, ONE, HUGENUM
|
||||
PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
|
@ -419,7 +419,8 @@
|
|||
$ SSCAL, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC ABS, MAX, MIN
|
||||
INTRINSIC ABS, MAX, MIN, HUGE
|
||||
PARAMETER ( HUGENUM = HUGE(ZERO) )
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
|
@ -596,9 +597,9 @@
|
|||
*
|
||||
A1 = A( K+I, N-L+I )
|
||||
B1 = B( I, N-L+I )
|
||||
GAMMA = B1 / A1
|
||||
*
|
||||
IF( A1.NE.ZERO ) THEN
|
||||
GAMMA = B1 / A1
|
||||
IF( (GAMMA.LE.HUGENUM).AND.(GAMMA.GE.-HUGENUM) ) THEN
|
||||
*
|
||||
* change sign if necessary
|
||||
*
|
||||
|
|
|
@ -401,7 +401,7 @@
|
|||
* .. Parameters ..
|
||||
INTEGER MAXIT
|
||||
PARAMETER ( MAXIT = 40 )
|
||||
DOUBLE PRECISION ZERO, ONE
|
||||
DOUBLE PRECISION ZERO, ONE, HUGENUM
|
||||
PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
|
||||
COMPLEX*16 CZERO, CONE
|
||||
PARAMETER ( CZERO = ( 0.0D+0, 0.0D+0 ),
|
||||
|
@ -424,7 +424,8 @@
|
|||
$ ZLASET, ZROT
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC ABS, DBLE, DCONJG, MAX, MIN
|
||||
INTRINSIC ABS, DBLE, DCONJG, MAX, MIN, HUGE
|
||||
PARAMETER ( HUGENUM = HUGE(ZERO) )
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
|
@ -610,9 +611,9 @@
|
|||
*
|
||||
A1 = DBLE( A( K+I, N-L+I ) )
|
||||
B1 = DBLE( B( I, N-L+I ) )
|
||||
GAMMA = B1 / A1
|
||||
*
|
||||
IF( A1.NE.ZERO ) THEN
|
||||
GAMMA = B1 / A1
|
||||
IF( (GAMMA.LE.HUGENUM).AND.(GAMMA.GE.-HUGENUM) ) THEN
|
||||
*
|
||||
IF( GAMMA.LT.ZERO ) THEN
|
||||
CALL ZDSCAL( L-I+1, -ONE, B( I, N-L+I ), LDB )
|
||||
|
|
Loading…
Reference in New Issue