SUBROUTINE N,
CX,
INCX,
CY,
INCY,
C,
S
)
INTEGER INCX,
INCY,
N
REAL C,
S
COMPLEX CX(
*
),
CY(
*
)
INTEGER I,
IX,
IY
COMPLEX CTEMP
IF( N.LE.0
)
RETURN
IF( INCX.EQ.1
.AND.
INCY.EQ.1
)
GO
TO
20
IX =
1
IY =
1
IF( INCX.LT.0
)
IX
=
(
-N+1
)*INCX
+
1
IF( INCY.LT.0
)
IY
=
(
-N+1
)*INCY
+
1
DO 10
I
=
1,
N
CTEMP =
C*CX(
IX
)
+
S*CY(
IY
)
CY( IY
)
=
C*CY(
IY
)
-
S*CX(
IX
)
CX( IX
)
=
CTEMP
IX =
IX
+
INCX
IY =
IY
+
INCY
10 CONTINUE
RETURN
20 DO
30
I
=
1,
N
CTEMP =
C*CX(
I
)
+
S*CY(
I
)
CY( I
)
=
C*CY(
I
)
-
S*CX(
I
)
CX( I
)
=
CTEMP
30 CONTINUE
RETURN
END