1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
.SH NAME
CSROT - applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex.
.SH SYNOPSIS
.TP 18
SUBROUTINE CSROT(
N, CX, INCX, CY, INCY, C, S )
.TP 18
.ti +4
INTEGER
INCX, INCY, N
.TP 18
.ti +4
REAL
C, S
.TP 18
.ti +4
COMPLEX
CX( * ), CY( * )
.TP 18
.ti +4
INTEGER
I, IX, IY
.TP 18
.ti +4
COMPLEX
CTEMP
.TP 18
.ti +4
IF(
N.LE.0 )
RETURN
.TP 18
.ti +4
IF(
INCX.EQ.1 .AND. INCY.EQ.1 )
GO TO 20
.TP 18
.ti +4
IX
= 1
.TP 18
.ti +4
IY
= 1
.TP 18
.ti +4
IF(
INCX.LT.0 )
IX = ( -N+1 )*INCX + 1
.TP 18
.ti +4
IF(
INCY.LT.0 )
IY = ( -N+1 )*INCY + 1
.TP 18
.ti +4
DO
10 I = 1, N
.TP 18
.ti +4
CTEMP
= C*CX( IX ) + S*CY( IY )
.TP 18
.ti +4
CY(
IY ) = C*CY( IY ) - S*CX( IX )
.TP 18
.ti +4
CX(
IX ) = CTEMP
.TP 18
.ti +4
IX
= IX + INCX
.TP 18
.ti +4
IY
= IY + INCY
.TP 18
.ti +4
10
CONTINUE
.TP 18
.ti +4
RETURN
.TP 18
.ti +4
20
DO 30 I = 1, N
.TP 18
.ti +4
CTEMP
= C*CX( I ) + S*CY( I )
.TP 18
.ti +4
CY(
I ) = C*CY( I ) - S*CX( I )
.TP 18
.ti +4
CX(
I ) = CTEMP
.TP 18
.ti +4
30
CONTINUE
.TP 18
.ti +4
RETURN
.TP 18
.ti +4
END
.SH PURPOSE
|