@@ -401,7 +401,7 @@ SUBROUTINE ZTGSJA( JOBU, JOBV, JOBQ, M, P, N, K, L, A, LDA, B,
401401* .. Parameters ..
402402 INTEGER MAXIT
403403 PARAMETER ( MAXIT = 40 )
404- DOUBLE PRECISION ZERO, ONE
404+ DOUBLE PRECISION ZERO, ONE, HUGENUM
405405 PARAMETER ( ZERO = 0.0D+0 , ONE = 1.0D+0 )
406406 COMPLEX * 16 CZERO, CONE
407407 PARAMETER ( CZERO = ( 0.0D+0 , 0.0D+0 ),
@@ -424,7 +424,8 @@ SUBROUTINE ZTGSJA( JOBU, JOBV, JOBQ, M, P, N, K, L, A, LDA, B,
424424 $ ZLASET, ZROT
425425* ..
426426* .. Intrinsic Functions ..
427- INTRINSIC ABS, DBLE, DCONJG, MAX, MIN
427+ INTRINSIC ABS, DBLE, DCONJG, MAX, MIN, HUGE
428+ PARAMETER ( HUGENUM = HUGE (ZERO) )
428429* ..
429430* .. Executable Statements ..
430431*
@@ -610,9 +611,9 @@ SUBROUTINE ZTGSJA( JOBU, JOBV, JOBQ, M, P, N, K, L, A, LDA, B,
610611*
611612 A1 = DBLE ( A( K+ I, N- L+ I ) )
612613 B1 = DBLE ( B( I, N- L+ I ) )
614+ GAMMA = B1 / A1
613615*
614- IF ( A1.NE. ZERO ) THEN
615- GAMMA = B1 / A1
616+ IF ( (GAMMA.LE. HUGENUM).AND. (GAMMA.GE. - HUGENUM) ) THEN
616617*
617618 IF ( GAMMA.LT. ZERO ) THEN
618619 CALL ZDSCAL( L- I+1 , - ONE, B( I, N- L+ I ), LDB )
0 commit comments