* .. 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 ),
$ SLARTG, XERBLA
* ..
* .. Intrinsic Functions ..
- INTRINSIC ABS, CONJG, MAX, MIN, REAL
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL, HUGE
+ PARAMETER ( HUGENUM = HUGE(ZERO) )
* ..
* .. Executable Statements ..
*
*
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 )
* .. 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 ..
$ DSCAL, XERBLA
* ..
* .. Intrinsic Functions ..
- INTRINSIC ABS, MAX, MIN
+ INTRINSIC ABS, MAX, MIN, HUGE
+ PARAMETER ( HUGENUM = HUGE(ZERO) )
* ..
* .. Executable Statements ..
*
*
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
*
* .. Parameters ..
INTEGER MAXIT
PARAMETER ( MAXIT = 40 )
- REAL ZERO, ONE
+ REAL ZERO, ONE, HUGENUM
PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
* ..
* .. Local Scalars ..
$ SSCAL, XERBLA
* ..
* .. Intrinsic Functions ..
- INTRINSIC ABS, MAX, MIN
+ INTRINSIC ABS, MAX, MIN, HUGE
+ PARAMETER ( HUGENUM = HUGE(ZERO) )
* ..
* .. Executable Statements ..
*
*
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
*
* .. 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 ),
$ ZLASET, ZROT
* ..
* .. Intrinsic Functions ..
- INTRINSIC ABS, DBLE, DCONJG, MAX, MIN
+ INTRINSIC ABS, DBLE, DCONJG, MAX, MIN, HUGE
+ PARAMETER ( HUGENUM = HUGE(ZERO) )
* ..
* .. Executable Statements ..
*
*
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 )