File: zdrot.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 (116 lines) | stat: -rwxr-xr-x 1,117 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
113
114
115
116
.SH NAME
ZDROT - 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 ZDROT(
N, CX, INCX, CY, INCY, C, S )
.TP 18
.ti +4
INTEGER
INCX, INCY, N
.TP 18
.ti +4
DOUBLE
PRECISION C, S
.TP 18
.ti +4
COMPLEX*16
CX( * ), CY( * )
.TP 18
.ti +4
INTEGER
I, IX, IY
.TP 18
.ti +4
COMPLEX*16
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
CONTINUE
.TP 18
.ti +4
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