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