1       SUBROUTINE ZLARTV( N, X, INCX, Y, INCY, C, S, INCC )
 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            INCC, INCX, INCY, N
10 *     ..
11 *     .. Array Arguments ..
12       DOUBLE PRECISION   C( * )
13       COMPLEX*16         S( * ), X( * ), Y( * )
14 *     ..
15 *
16 *  Purpose
17 *  =======
18 *
19 *  ZLARTV applies a vector of complex plane rotations with real cosines
20 *  to elements of the complex vectors x and y. For i = 1,2,...,n
21 *
22 *     ( x(i) ) := (        c(i)   s(i) ) ( x(i) )
23 *     ( y(i) )    ( -conjg(s(i))  c(i) ) ( y(i) )
24 *
25 *  Arguments
26 *  =========
27 *
28 *  N       (input) INTEGER
29 *          The number of plane rotations to be applied.
30 *
31 *  X       (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCX)
32 *          The vector x.
33 *
34 *  INCX    (input) INTEGER
35 *          The increment between elements of X. INCX > 0.
36 *
37 *  Y       (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCY)
38 *          The vector y.
39 *
40 *  INCY    (input) INTEGER
41 *          The increment between elements of Y. INCY > 0.
42 *
43 *  C       (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
44 *          The cosines of the plane rotations.
45 *
46 *  S       (input) COMPLEX*16 array, dimension (1+(N-1)*INCC)
47 *          The sines of the plane rotations.
48 *
49 *  INCC    (input) INTEGER
50 *          The increment between elements of C and S. INCC > 0.
51 *
52 *  =====================================================================
53 *
54 *     .. Local Scalars ..
55       INTEGER            I, IC, IX, IY
56       COMPLEX*16         XI, YI
57 *     ..
58 *     .. Intrinsic Functions ..
59       INTRINSIC          DCONJG
60 *     ..
61 *     .. Executable Statements ..
62 *
63       IX = 1
64       IY = 1
65       IC = 1
66       DO 10 I = 1, N
67          XI = X( IX )
68          YI = Y( IY )
69          X( IX ) = C( IC )*XI + S( IC )*YI
70          Y( IY ) = C( IC )*YI - DCONJG( S( IC ) )*XI
71          IX = IX + INCX
72          IY = IY + INCY
73          IC = IC + INCC
74    10 CONTINUE
75       RETURN
76 *
77 *     End of ZLARTV
78 *
79       END