zdrot

Langue: en

Version: 313140 (ubuntu - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

ZDROT - plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex

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

PURPOSE