Annotation of rpl/lapack/blas/zrotg.f, revision 1.15
1.8 bertrand 1: *> \brief \b ZROTG
2: *
3: * =========== DOCUMENTATION ===========
4: *
1.13 bertrand 5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
1.8 bertrand 7: *
8: * Definition:
9: * ===========
10: *
11: * SUBROUTINE ZROTG(CA,CB,C,S)
1.13 bertrand 12: *
1.8 bertrand 13: * .. Scalar Arguments ..
14: * COMPLEX*16 CA,CB,S
15: * DOUBLE PRECISION C
16: * ..
1.13 bertrand 17: *
1.8 bertrand 18: *
19: *> \par Purpose:
20: * =============
21: *>
22: *> \verbatim
23: *>
24: *> ZROTG determines a double complex Givens rotation.
25: *> \endverbatim
26: *
1.14 bertrand 27: * Arguments:
28: * ==========
29: *
30: *> \param[in] CA
31: *> \verbatim
32: *> CA is COMPLEX*16
33: *> \endverbatim
34: *>
35: *> \param[in] CB
36: *> \verbatim
37: *> CB is COMPLEX*16
38: *> \endverbatim
39: *>
40: *> \param[out] C
41: *> \verbatim
42: *> C is DOUBLE PRECISION
43: *> \endverbatim
44: *>
45: *> \param[out] S
46: *> \verbatim
47: *> S is COMPLEX*16
48: *> \endverbatim
49: *
1.8 bertrand 50: * Authors:
51: * ========
52: *
1.13 bertrand 53: *> \author Univ. of Tennessee
54: *> \author Univ. of California Berkeley
55: *> \author Univ. of Colorado Denver
56: *> \author NAG Ltd.
1.8 bertrand 57: *
1.14 bertrand 58: *> \date November 2017
1.8 bertrand 59: *
60: *> \ingroup complex16_blas_level1
61: *
62: * =====================================================================
1.1 bertrand 63: SUBROUTINE ZROTG(CA,CB,C,S)
1.8 bertrand 64: *
1.14 bertrand 65: * -- Reference BLAS level1 routine (version 3.8.0) --
1.8 bertrand 66: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
67: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
1.14 bertrand 68: * November 2017
1.8 bertrand 69: *
1.1 bertrand 70: * .. Scalar Arguments ..
1.8 bertrand 71: COMPLEX*16 CA,CB,S
1.1 bertrand 72: DOUBLE PRECISION C
73: * ..
74: *
75: * =====================================================================
76: *
77: * .. Local Scalars ..
1.8 bertrand 78: COMPLEX*16 ALPHA
1.1 bertrand 79: DOUBLE PRECISION NORM,SCALE
80: * ..
81: * .. Intrinsic Functions ..
82: INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT
83: * ..
1.7 bertrand 84: IF (CDABS(CA).EQ.0.0d0) THEN
85: C = 0.0d0
86: S = (1.0d0,0.0d0)
87: CA = CB
88: ELSE
89: SCALE = CDABS(CA) + CDABS(CB)
90: NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+
91: $ (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2)
92: ALPHA = CA/CDABS(CA)
93: C = CDABS(CA)/NORM
94: S = ALPHA*DCONJG(CB)/NORM
95: CA = ALPHA*NORM
96: END IF
1.1 bertrand 97: RETURN
98: END
CVSweb interface <joel.bertrand@systella.fr>