|
|
1.1 ! root 1: SUBROUTINE RROTG(DA,DB,C,S) ! 2: C ! 3: C CONSTRUCT GIVENS PLANE ROTATION. ! 4: C ! 5: DOUBLE PRECISION DA,DB,C,S,RHO,PYTHAG,FLOP,R,Z ! 6: C ! 7: RHO = DB ! 8: IF ( DABS(DA) .GT. DABS(DB) ) RHO = DA ! 9: C = 1.0D0 ! 10: S = 0.0D0 ! 11: Z = 1.0D0 ! 12: R = FLOP(DSIGN(PYTHAG(DA,DB),RHO)) ! 13: IF (R .NE. 0.0D0) C = FLOP(DA/R) ! 14: IF (R .NE. 0.0D0) S = FLOP(DB/R) ! 15: IF ( DABS(DA) .GT. DABS(DB) ) Z = S ! 16: IF ( DABS(DB) .GE. DABS(DA) .AND. C .NE. 0.0D0 ) Z = FLOP(1.0D0/C) ! 17: DA = R ! 18: DB = Z ! 19: RETURN ! 20: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.