LAPACK  3.9.0
LAPACK: Linear Algebra PACKage
scombssq.f
Go to the documentation of this file.
1 *> \brief \b SCOMBSSQ 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 SCOMBSSQ( V1, V2 )
13 *
14 * .. Array Arguments ..
15 * REAL V1( 2 ), V2( 2 )
16 * ..
17 *
18 *
19 *> \par Purpose:
20 * =============
21 *>
22 *> \verbatim
23 *>
24 *> SCOMBSSQ 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 REAL 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 REAL 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 scombssq( 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  REAL V1( 2 ), V2( 2 )
70 * ..
71 *
72 * =====================================================================
73 *
74 * .. Parameters ..
75  REAL 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 SCOMBSSQ
91 *
92  END
scombssq
subroutine scombssq(V1, V2)
SCOMBSSQ adds two scaled sum of squares quantities
Definition: scombssq.f:62