Annotation of rpl/lapack/blas/zrotg.f, revision 1.2

1.1       bertrand    1:       SUBROUTINE ZROTG(CA,CB,C,S)
                      2: *     .. Scalar Arguments ..
                      3:       DOUBLE COMPLEX CA,CB,S
                      4:       DOUBLE PRECISION C
                      5: *     ..
                      6: *
                      7: *  Purpose
                      8: *  =======
                      9: *
                     10: *     ZROTG determines a double complex Givens rotation.
                     11: *
                     12: *  =====================================================================
                     13: *
                     14: *     .. Local Scalars ..
                     15:       DOUBLE COMPLEX ALPHA
                     16:       DOUBLE PRECISION NORM,SCALE
                     17: *     ..
                     18: *     .. Intrinsic Functions ..
                     19:       INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT
                     20: *     ..
                     21:       IF (CDABS(CA).NE.0.0d0) GO TO 10
                     22:       C = 0.0d0
                     23:       S = (1.0d0,0.0d0)
                     24:       CA = CB
                     25:       GO TO 20
                     26:    10 CONTINUE
                     27:       SCALE = CDABS(CA) + CDABS(CB)
                     28:       NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+
                     29:      +       (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2)
                     30:       ALPHA = CA/CDABS(CA)
                     31:       C = CDABS(CA)/NORM
                     32:       S = ALPHA*DCONJG(CB)/NORM
                     33:       CA = ALPHA*NORM
                     34:    20 CONTINUE
                     35:       RETURN
                     36:       END

CVSweb interface <joel.bertrand@systella.fr>