File:  [local] / rpl / lapack / blas / zrotg.f
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Fri Jul 22 07:38:03 2011 UTC (12 years, 9 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_3, rpl-4_1_2, rpl-4_1_1, HEAD
En route vers la 4.4.1.

    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).EQ.0.0d0) THEN
   22:          C = 0.0d0
   23:          S = (1.0d0,0.0d0)
   24:          CA = CB
   25:       ELSE
   26:          SCALE = CDABS(CA) + CDABS(CB)
   27:          NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+
   28:      $       (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2)
   29:          ALPHA = CA/CDABS(CA)
   30:          C = CDABS(CA)/NORM
   31:          S = ALPHA*DCONJG(CB)/NORM
   32:          CA = ALPHA*NORM
   33:       END IF
   34:       RETURN
   35:       END

CVSweb interface <joel.bertrand@systella.fr>