1 #include "f2c.h"
2
zlacgv_(integer * n,doublecomplex * x,integer * incx)3 /* Subroutine */ int zlacgv_(integer *n, doublecomplex *x, integer *incx)
4 {
5 /* -- LAPACK auxiliary routine (version 2.0) --
6 Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
7 Courant Institute, Argonne National Lab, and Rice University
8 October 31, 1992
9
10
11 Purpose
12 =======
13
14 ZLACGV conjugates a complex vector of length N.
15
16 Arguments
17 =========
18
19 N (input) INTEGER
20 The length of the vector X. N >= 0.
21
22 X (input/output) COMPLEX*16 array, dimension
23 (1+(N-1)*abs(INCX))
24 On entry, the vector of length N to be conjugated.
25 On exit, X is overwritten with conjg(X).
26
27 INCX (input) INTEGER
28 The spacing between successive elements of X.
29
30 =====================================================================
31
32
33
34
35 Parameter adjustments
36 Function Body */
37 /* System generated locals */
38 integer i__1, i__2;
39 doublecomplex z__1;
40 /* Builtin functions */
41 void d_cnjg(doublecomplex *, doublecomplex *);
42 /* Local variables */
43 static integer ioff, i;
44
45
46 #define X(I) x[(I)-1]
47
48
49 if (*incx == 1) {
50 i__1 = *n;
51 for (i = 1; i <= *n; ++i) {
52 i__2 = i;
53 d_cnjg(&z__1, &X(i));
54 X(i).r = z__1.r, X(i).i = z__1.i;
55 /* L10: */
56 }
57 } else {
58 ioff = 1;
59 if (*incx < 0) {
60 ioff = 1 - (*n - 1) * *incx;
61 }
62 i__1 = *n;
63 for (i = 1; i <= *n; ++i) {
64 i__2 = ioff;
65 d_cnjg(&z__1, &X(ioff));
66 X(ioff).r = z__1.r, X(ioff).i = z__1.i;
67 ioff += *incx;
68 /* L20: */
69 }
70 }
71 return 0;
72
73 /* End of ZLACGV */
74
75 } /* zlacgv_ */
76
77