LAPACK  3.6.1
LAPACK: Linear Algebra PACKage
subroutine zrotg ( complex*16  CA,
complex*16  CB,
double precision  C,
complex*16  S 
)

ZROTG

Purpose:
    ZROTG determines a double complex Givens rotation.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011

Definition at line 41 of file zrotg.f.

41 *
42 * -- Reference BLAS level1 routine (version 3.4.0) --
43 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
44 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
45 * November 2011
46 *
47 * .. Scalar Arguments ..
48  COMPLEX*16 ca,cb,s
49  DOUBLE PRECISION c
50 * ..
51 *
52 * =====================================================================
53 *
54 * .. Local Scalars ..
55  COMPLEX*16 alpha
56  DOUBLE PRECISION norm,scale
57 * ..
58 * .. Intrinsic Functions ..
59  INTRINSIC cdabs,dcmplx,dconjg,dsqrt
60 * ..
61  IF (cdabs(ca).EQ.0.0d0) THEN
62  c = 0.0d0
63  s = (1.0d0,0.0d0)
64  ca = cb
65  ELSE
66  scale = cdabs(ca) + cdabs(cb)
67  norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2+
68  $ (cdabs(cb/dcmplx(scale,0.0d0)))**2)
69  alpha = ca/cdabs(ca)
70  c = cdabs(ca)/norm
71  s = alpha*dconjg(cb)/norm
72  ca = alpha*norm
73  END IF
74  RETURN

Here is the caller graph for this function: