1: DOUBLE PRECISION FUNCTION DZSUM1( N, CX, INCX )
2: *
3: * -- LAPACK auxiliary routine (version 3.2) --
4: * -- LAPACK is a software package provided by Univ. of Tennessee, --
5: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
6: * November 2006
7: *
8: * .. Scalar Arguments ..
9: INTEGER INCX, N
10: * ..
11: * .. Array Arguments ..
12: COMPLEX*16 CX( * )
13: * ..
14: *
15: * Purpose
16: * =======
17: *
18: * DZSUM1 takes the sum of the absolute values of a complex
19: * vector and returns a double precision result.
20: *
21: * Based on DZASUM from the Level 1 BLAS.
22: * The change is to use the 'genuine' absolute value.
23: *
24: * Contributed by Nick Higham for use with ZLACON.
25: *
26: * Arguments
27: * =========
28: *
29: * N (input) INTEGER
30: * The number of elements in the vector CX.
31: *
32: * CX (input) COMPLEX*16 array, dimension (N)
33: * The vector whose elements will be summed.
34: *
35: * INCX (input) INTEGER
36: * The spacing between successive values of CX. INCX > 0.
37: *
38: * =====================================================================
39: *
40: * .. Local Scalars ..
41: INTEGER I, NINCX
42: DOUBLE PRECISION STEMP
43: * ..
44: * .. Intrinsic Functions ..
45: INTRINSIC ABS
46: * ..
47: * .. Executable Statements ..
48: *
49: DZSUM1 = 0.0D0
50: STEMP = 0.0D0
51: IF( N.LE.0 )
52: $ RETURN
53: IF( INCX.EQ.1 )
54: $ GO TO 20
55: *
56: * CODE FOR INCREMENT NOT EQUAL TO 1
57: *
58: NINCX = N*INCX
59: DO 10 I = 1, NINCX, INCX
60: *
61: * NEXT LINE MODIFIED.
62: *
63: STEMP = STEMP + ABS( CX( I ) )
64: 10 CONTINUE
65: DZSUM1 = STEMP
66: RETURN
67: *
68: * CODE FOR INCREMENT EQUAL TO 1
69: *
70: 20 CONTINUE
71: DO 30 I = 1, N
72: *
73: * NEXT LINE MODIFIED.
74: *
75: STEMP = STEMP + ABS( CX( I ) )
76: 30 CONTINUE
77: DZSUM1 = STEMP
78: RETURN
79: *
80: * End of DZSUM1
81: *
82: END
CVSweb interface <joel.bertrand@systella.fr>