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