Break out of potentially infinite rescaling loop after 1000 iterationstags/v0.3.0
| @@ -175,7 +175,7 @@ | |||||
| BETA = BETA*RSAFMN | BETA = BETA*RSAFMN | ||||
| ALPHI = ALPHI*RSAFMN | ALPHI = ALPHI*RSAFMN | ||||
| ALPHR = ALPHR*RSAFMN | ALPHR = ALPHR*RSAFMN | ||||
| IF( ABS( BETA ).LT.SAFMIN ) | |||||
| IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SAFMIN | * New BETA is at most 1, at least SAFMIN | ||||
| @@ -197,7 +197,7 @@ | |||||
| BETA = BETA*BIGNUM | BETA = BETA*BIGNUM | ||||
| ALPHI = ALPHI*BIGNUM | ALPHI = ALPHI*BIGNUM | ||||
| ALPHR = ALPHR*BIGNUM | ALPHR = ALPHR*BIGNUM | ||||
| IF( ABS( BETA ).LT.SMLNUM ) | |||||
| IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000 ) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SMLNUM | * New BETA is at most 1, at least SMLNUM | ||||
| @@ -170,7 +170,7 @@ | |||||
| CALL DSCAL( N-1, RSAFMN, X, INCX ) | CALL DSCAL( N-1, RSAFMN, X, INCX ) | ||||
| BETA = BETA*RSAFMN | BETA = BETA*RSAFMN | ||||
| ALPHA = ALPHA*RSAFMN | ALPHA = ALPHA*RSAFMN | ||||
| IF( ABS( BETA ).LT.SAFMIN ) | |||||
| IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000 ) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SAFMIN | * New BETA is at most 1, at least SAFMIN | ||||
| @@ -181,7 +181,7 @@ | |||||
| CALL DSCAL( N-1, BIGNUM, X, INCX ) | CALL DSCAL( N-1, BIGNUM, X, INCX ) | ||||
| BETA = BETA*BIGNUM | BETA = BETA*BIGNUM | ||||
| ALPHA = ALPHA*BIGNUM | ALPHA = ALPHA*BIGNUM | ||||
| IF( ABS( BETA ).LT.SMLNUM ) | |||||
| IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SMLNUM | * New BETA is at most 1, at least SMLNUM | ||||
| @@ -170,7 +170,7 @@ | |||||
| CALL SSCAL( N-1, RSAFMN, X, INCX ) | CALL SSCAL( N-1, RSAFMN, X, INCX ) | ||||
| BETA = BETA*RSAFMN | BETA = BETA*RSAFMN | ||||
| ALPHA = ALPHA*RSAFMN | ALPHA = ALPHA*RSAFMN | ||||
| IF( ABS( BETA ).LT.SAFMIN ) | |||||
| IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SAFMIN | * New BETA is at most 1, at least SAFMIN | ||||
| @@ -181,7 +181,7 @@ | |||||
| CALL SSCAL( N-1, BIGNUM, X, INCX ) | CALL SSCAL( N-1, BIGNUM, X, INCX ) | ||||
| BETA = BETA*BIGNUM | BETA = BETA*BIGNUM | ||||
| ALPHA = ALPHA*BIGNUM | ALPHA = ALPHA*BIGNUM | ||||
| IF( ABS( BETA ).LT.SMLNUM ) | |||||
| IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000 ) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SMLNUM | * New BETA is at most 1, at least SMLNUM | ||||
| @@ -175,7 +175,7 @@ | |||||
| BETA = BETA*RSAFMN | BETA = BETA*RSAFMN | ||||
| ALPHI = ALPHI*RSAFMN | ALPHI = ALPHI*RSAFMN | ||||
| ALPHR = ALPHR*RSAFMN | ALPHR = ALPHR*RSAFMN | ||||
| IF( ABS( BETA ).LT.SAFMIN ) | |||||
| IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SAFMIN | * New BETA is at most 1, at least SAFMIN | ||||
| @@ -197,7 +197,7 @@ | |||||
| BETA = BETA*BIGNUM | BETA = BETA*BIGNUM | ||||
| ALPHI = ALPHI*BIGNUM | ALPHI = ALPHI*BIGNUM | ||||
| ALPHR = ALPHR*BIGNUM | ALPHR = ALPHR*BIGNUM | ||||
| IF( ABS( BETA ).LT.SMLNUM ) | |||||
| IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000) | |||||
| $ GO TO 10 | $ GO TO 10 | ||||
| * | * | ||||
| * New BETA is at most 1, at least SMLNUM | * New BETA is at most 1, at least SMLNUM | ||||