Annotation of rpl/lapack/blas/drotg.f, revision 1.4

1.1       bertrand    1:       SUBROUTINE DROTG(DA,DB,C,S)
                      2: *     .. Scalar Arguments ..
                      3:       DOUBLE PRECISION C,DA,DB,S
                      4: *     ..
                      5: *
                      6: *  Purpose
                      7: *  =======
                      8: *
                      9: *     DROTG construct givens plane rotation.
                     10: *
                     11: *  Further Details
                     12: *  ===============
                     13: *
                     14: *     jack dongarra, linpack, 3/11/78.
                     15: *
                     16: *  =====================================================================
                     17: *
                     18: *     .. Local Scalars ..
                     19:       DOUBLE PRECISION R,ROE,SCALE,Z
                     20: *     ..
                     21: *     .. Intrinsic Functions ..
                     22:       INTRINSIC DABS,DSIGN,DSQRT
                     23: *     ..
                     24:       ROE = DB
                     25:       IF (DABS(DA).GT.DABS(DB)) ROE = DA
                     26:       SCALE = DABS(DA) + DABS(DB)
                     27:       IF (SCALE.NE.0.0d0) GO TO 10
                     28:       C = 1.0d0
                     29:       S = 0.0d0
                     30:       R = 0.0d0
                     31:       Z = 0.0d0
                     32:       GO TO 20
                     33:    10 R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
                     34:       R = DSIGN(1.0d0,ROE)*R
                     35:       C = DA/R
                     36:       S = DB/R
                     37:       Z = 1.0d0
                     38:       IF (DABS(DA).GT.DABS(DB)) Z = S
                     39:       IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
                     40:    20 DA = R
                     41:       DB = Z
                     42:       RETURN
                     43:       END

CVSweb interface <joel.bertrand@systella.fr>