SUBROUTINE 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