1: *> \brief \b DCOMBSSQ adds two scaled sum of squares quantities.
2: *
3: * =========== DOCUMENTATION ===========
4: *
5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
7: *
8: *
9: * Definition:
10: * ===========
11: *
12: * SUBROUTINE DCOMBSSQ( V1, V2 )
13: *
14: * .. Array Arguments ..
15: * DOUBLE PRECISION V1( 2 ), V2( 2 )
16: * ..
17: *
18: *
19: *> \par Purpose:
20: * =============
21: *>
22: *> \verbatim
23: *>
24: *> DCOMBSSQ adds two scaled sum of squares quantities, V1 := V1 + V2.
25: *> That is,
26: *>
27: *> V1_scale**2 * V1_sumsq := V1_scale**2 * V1_sumsq
28: *> + V2_scale**2 * V2_sumsq
29: *> \endverbatim
30: *
31: * Arguments:
32: * ==========
33: *
34: *> \param[in,out] V1
35: *> \verbatim
36: *> V1 is DOUBLE PRECISION array, dimension (2).
37: *> The first scaled sum.
38: *> V1(1) = V1_scale, V1(2) = V1_sumsq.
39: *> \endverbatim
40: *>
41: *> \param[in] V2
42: *> \verbatim
43: *> V2 is DOUBLE PRECISION array, dimension (2).
44: *> The second scaled sum.
45: *> V2(1) = V2_scale, V2(2) = V2_sumsq.
46: *> \endverbatim
47: *
48: * Authors:
49: * ========
50: *
51: *> \author Univ. of Tennessee
52: *> \author Univ. of California Berkeley
53: *> \author Univ. of Colorado Denver
54: *> \author NAG Ltd.
55: *
56: *> \date November 2018
57: *
58: *> \ingroup OTHERauxiliary
59: *
60: * =====================================================================
61: SUBROUTINE DCOMBSSQ( V1, V2 )
62: *
63: * -- LAPACK auxiliary routine (version 3.7.0) --
64: * -- LAPACK is a software package provided by Univ. of Tennessee, --
65: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
66: * November 2018
67: *
68: * .. Array Arguments ..
69: DOUBLE PRECISION V1( 2 ), V2( 2 )
70: * ..
71: *
72: * =====================================================================
73: *
74: * .. Parameters ..
75: DOUBLE PRECISION ZERO
76: PARAMETER ( ZERO = 0.0D+0 )
77: * ..
78: * .. Executable Statements ..
79: *
80: IF( V1( 1 ).GE.V2( 1 ) ) THEN
81: IF( V1( 1 ).NE.ZERO ) THEN
82: V1( 2 ) = V1( 2 ) + ( V2( 1 ) / V1( 1 ) )**2 * V2( 2 )
83: END IF
84: ELSE
85: V1( 2 ) = V2( 2 ) + ( V1( 1 ) / V2( 1 ) )**2 * V1( 2 )
86: V1( 1 ) = V2( 1 )
87: END IF
88: RETURN
89: *
90: * End of DCOMBSSQ
91: *
92: END
CVSweb interface <joel.bertrand@systella.fr>