70 SUBROUTINE drotg(DA,DB,C,S)
78 DOUBLE PRECISION C,DA,DB,S
84 DOUBLE PRECISION R,ROE,SCALE,Z
87 INTRINSIC dabs,dsign,dsqrt
90 IF (dabs(da).GT.dabs(db)) roe = da
91 scale = dabs(da) + dabs(db)
92 IF (scale.EQ.0.0d0)
THEN
98 r = scale*dsqrt((da/scale)**2+ (db/scale)**2)
99 r = dsign(1.0d0,roe)*r
103 IF (dabs(da).GT.dabs(db)) z = s
104 IF (dabs(db).GE.dabs(da) .AND. c.NE.0.0d0) z = 1.0d0/c