File:
[local] /
rpl /
lapack /
blas /
zrotg.f
Revision
1.15:
download - view:
text,
annotated -
select for diffs -
revision graph
Tue May 29 07:19:43 2018 UTC (6 years, 11 months ago) by
bertrand
Branches:
MAIN
CVS tags:
rpl-4_1_35,
rpl-4_1_34,
rpl-4_1_33,
rpl-4_1_32,
rpl-4_1_31,
rpl-4_1_30,
rpl-4_1_29,
rpl-4_1_28,
HEAD
Mise à jour de Blas.
1: *> \brief \b ZROTG
2: *
3: * =========== DOCUMENTATION ===========
4: *
5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
7: *
8: * Definition:
9: * ===========
10: *
11: * SUBROUTINE ZROTG(CA,CB,C,S)
12: *
13: * .. Scalar Arguments ..
14: * COMPLEX*16 CA,CB,S
15: * DOUBLE PRECISION C
16: * ..
17: *
18: *
19: *> \par Purpose:
20: * =============
21: *>
22: *> \verbatim
23: *>
24: *> ZROTG determines a double complex Givens rotation.
25: *> \endverbatim
26: *
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: *
50: * Authors:
51: * ========
52: *
53: *> \author Univ. of Tennessee
54: *> \author Univ. of California Berkeley
55: *> \author Univ. of Colorado Denver
56: *> \author NAG Ltd.
57: *
58: *> \date November 2017
59: *
60: *> \ingroup complex16_blas_level1
61: *
62: * =====================================================================
63: SUBROUTINE ZROTG(CA,CB,C,S)
64: *
65: * -- Reference BLAS level1 routine (version 3.8.0) --
66: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
67: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
68: * November 2017
69: *
70: * .. Scalar Arguments ..
71: COMPLEX*16 CA,CB,S
72: DOUBLE PRECISION C
73: * ..
74: *
75: * =====================================================================
76: *
77: * .. Local Scalars ..
78: COMPLEX*16 ALPHA
79: DOUBLE PRECISION NORM,SCALE
80: * ..
81: * .. Intrinsic Functions ..
82: INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT
83: * ..
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
97: RETURN
98: END
CVSweb interface <joel.bertrand@systella.fr>