@@ -170,13 +170,13 @@ SUBROUTINE ZGBT02( TRANS, M, N, KL, KU, NRHS, A, LDA, X, LDX, B,
170170* ..
171171* .. Local Scalars ..
172172 INTEGER I1, I2, J, KD, N1
173- DOUBLE PRECISION ANORM, BNORM, EPS, XNORM
173+ DOUBLE PRECISION ANORM, BNORM, EPS, TEMP, XNORM
174174 COMPLEX * 16 ZDUM
175175* ..
176176* .. External Functions ..
177- LOGICAL LSAME
177+ LOGICAL DISNAN, LSAME
178178 DOUBLE PRECISION DLAMCH, DZASUM
179- EXTERNAL LSAME , DLAMCH, DZASUM
179+ EXTERNAL DISNAN , DLAMCH, DZASUM, LSAME
180180* ..
181181* .. External Subroutines ..
182182 EXTERNAL ZGBMV
@@ -211,8 +211,10 @@ SUBROUTINE ZGBT02( TRANS, M, N, KL, KU, NRHS, A, LDA, X, LDX, B,
211211 DO 10 J = 1 , N
212212 I1 = MAX ( KD+1 - J, 1 )
213213 I2 = MIN ( KD+ M- J, KL+ KD )
214- IF ( I2.GE. I1 )
215- $ ANORM = MAX ( ANORM, DZASUM( I2- I1+1 , A( I1, J ), 1 ) )
214+ IF ( I2.GE. I1 ) THEN
215+ TEMP = DZASUM( I2- I1+1 , A( I1, J ), 1 )
216+ IF ( ANORM.LT. TEMP .OR. DISNAN( TEMP ) ) ANORM = TEMP
217+ END IF
216218 10 CONTINUE
217219 ELSE
218220*
@@ -228,7 +230,8 @@ SUBROUTINE ZGBT02( TRANS, M, N, KL, KU, NRHS, A, LDA, X, LDX, B,
228230 14 CONTINUE
229231 16 CONTINUE
230232 DO 18 I1 = 1 , M
231- ANORM = MAX ( ANORM, RWORK( I1 ) )
233+ TEMP = RWORK( I1 )
234+ IF ( ANORM.LT. TEMP .OR. DISNAN( TEMP ) ) ANORM = TEMP
232235 18 CONTINUE
233236 END IF
234237 IF ( ANORM.LE. ZERO ) THEN
0 commit comments