NAME
SYNOPSIS
SUBROUTINE ZDROT(
N, CX, INCX, CY, INCY, C, S )
INTEGER INCX, INCY, N
DOUBLE PRECISION C, S
COMPLEX∗16 CX( ∗ ), CY( ∗ )
INTEGER I, IX, IY
COMPLEX∗16 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 CONTINUE
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