Skip to content

Commit 267d3d1

Browse files
authored
Break out of potentially infinite rescaling loop after 20 iterations
1 parent 7439cc0 commit 267d3d1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

SRC/zlartg.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,13 @@ SUBROUTINE ZLARTG( F, G, CS, SN, R )
155155
FS = F
156156
GS = G
157157
COUNT = 0
158-
IF( SCALE.GE.SAFMX2 .AND. COUNT .LT. 20) THEN
158+
IF( SCALE.GE.SAFMX2 ) THEN
159159
10 CONTINUE
160160
COUNT = COUNT + 1
161161
FS = FS*SAFMN2
162162
GS = GS*SAFMN2
163163
SCALE = SCALE*SAFMN2
164-
IF( SCALE.GE.SAFMX2 )
164+
IF( SCALE.GE.SAFMX2 .AND. COUNT .LT. 20 )
165165
$ GO TO 10
166166
ELSE IF( SCALE.LE.SAFMN2 ) THEN
167167
IF( G.EQ.CZERO.OR.DISNAN( ABS( G ) ) ) THEN

0 commit comments

Comments
 (0)