File:
[local] /
rpl /
lapack /
blas /
drotg.f
Revision
1.11:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Jan 27 09:28:12 2014 UTC (11 years, 3 months ago) by
bertrand
Branches:
MAIN
CVS tags:
rpl-4_1_24,
rpl-4_1_23,
rpl-4_1_22,
rpl-4_1_21,
rpl-4_1_20,
rpl-4_1_19,
rpl-4_1_18,
rpl-4_1_17,
HEAD
Cohérence.
1: *> \brief \b DROTG
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 DROTG(DA,DB,C,S)
12: *
13: * .. Scalar Arguments ..
14: * DOUBLE PRECISION C,DA,DB,S
15: * ..
16: *
17: *
18: *> \par Purpose:
19: * =============
20: *>
21: *> \verbatim
22: *>
23: *> DROTG construct givens plane rotation.
24: *> \endverbatim
25: *
26: * Authors:
27: * ========
28: *
29: *> \author Univ. of Tennessee
30: *> \author Univ. of California Berkeley
31: *> \author Univ. of Colorado Denver
32: *> \author NAG Ltd.
33: *
34: *> \date November 2011
35: *
36: *> \ingroup double_blas_level1
37: *
38: *> \par Further Details:
39: * =====================
40: *>
41: *> \verbatim
42: *>
43: *> jack dongarra, linpack, 3/11/78.
44: *> \endverbatim
45: *>
46: * =====================================================================
47: SUBROUTINE DROTG(DA,DB,C,S)
48: *
49: * -- Reference BLAS level1 routine (version 3.4.0) --
50: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
51: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
52: * November 2011
53: *
54: * .. Scalar Arguments ..
55: DOUBLE PRECISION C,DA,DB,S
56: * ..
57: *
58: * =====================================================================
59: *
60: * .. Local Scalars ..
61: DOUBLE PRECISION R,ROE,SCALE,Z
62: * ..
63: * .. Intrinsic Functions ..
64: INTRINSIC DABS,DSIGN,DSQRT
65: * ..
66: ROE = DB
67: IF (DABS(DA).GT.DABS(DB)) ROE = DA
68: SCALE = DABS(DA) + DABS(DB)
69: IF (SCALE.EQ.0.0d0) THEN
70: C = 1.0d0
71: S = 0.0d0
72: R = 0.0d0
73: Z = 0.0d0
74: ELSE
75: R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
76: R = DSIGN(1.0d0,ROE)*R
77: C = DA/R
78: S = DB/R
79: Z = 1.0d0
80: IF (DABS(DA).GT.DABS(DB)) Z = S
81: IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
82: END IF
83: DA = R
84: DB = Z
85: RETURN
86: END
CVSweb interface <joel.bertrand@systella.fr>