File: csrot.l

package info (click to toggle)
lapack 3.0.20000531a-28
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 61,920 kB
  • ctags: 46,200
  • sloc: fortran: 584,835; perl: 8,226; makefile: 2,331; awk: 71; sh: 45
file content (112 lines) | stat: -rwxr-xr-x 1,076 bytes parent folder | download | duplicates (2)
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