Skip to content

Commit 7034fdb

Browse files
authored
Add files via upload
1 parent e8ef54b commit 7034fdb

2 files changed

Lines changed: 188 additions & 0 deletions

File tree

dcombssq.f

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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+
ELSE
84+
V1( 2 ) = V1( 2 ) + V2( 2 )
85+
END IF
86+
ELSE
87+
V1( 2 ) = V2( 2 ) + ( V1( 1 ) / V2( 1 ) )**2 * V1( 2 )
88+
V1( 1 ) = V2( 1 )
89+
END IF
90+
RETURN
91+
*
92+
* End of DCOMBSSQ
93+
*
94+
END

scombssq.f

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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+
ELSE
84+
V1( 2 ) = V1( 2 ) + V2( 2 )
85+
END IF
86+
ELSE
87+
V1( 2 ) = V2( 2 ) + ( V1( 1 ) / V2( 1 ) )**2 * V1( 2 )
88+
V1( 1 ) = V2( 1 )
89+
END IF
90+
RETURN
91+
*
92+
* End of SCOMBSSQ
93+
*
94+
END

0 commit comments

Comments
 (0)