LAPACK
3.4.2
LAPACK: Linear Algebra PACKage
Main Page
Modules
Files
File List
File Members
All
Files
Functions
Groups
cswap.f
Go to the documentation of this file.
1
*> \brief \b CSWAP
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
* Definition:
9
* ===========
10
*
11
* SUBROUTINE CSWAP(N,CX,INCX,CY,INCY)
12
*
13
* .. Scalar Arguments ..
14
* INTEGER INCX,INCY,N
15
* ..
16
* .. Array Arguments ..
17
* COMPLEX CX(*),CY(*)
18
* ..
19
*
20
*
21
*> \par Purpose:
22
* =============
23
*>
24
*> \verbatim
25
*>
26
*> CSWAP interchanges two vectors.
27
*> \endverbatim
28
*
29
* Authors:
30
* ========
31
*
32
*> \author Univ. of Tennessee
33
*> \author Univ. of California Berkeley
34
*> \author Univ. of Colorado Denver
35
*> \author NAG Ltd.
36
*
37
*> \date November 2011
38
*
39
*> \ingroup complex_blas_level1
40
*
41
*> \par Further Details:
42
* =====================
43
*>
44
*> \verbatim
45
*>
46
*> jack dongarra, linpack, 3/11/78.
47
*> modified 12/3/93, array(1) declarations changed to array(*)
48
*> \endverbatim
49
*>
50
* =====================================================================
51
SUBROUTINE
cswap
(N,CX,INCX,CY,INCY)
52
*
53
* -- Reference BLAS level1 routine (version 3.4.0) --
54
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
55
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
56
* November 2011
57
*
58
* .. Scalar Arguments ..
59
INTEGER
incx,incy,n
60
* ..
61
* .. Array Arguments ..
62
COMPLEX
cx(*),cy(*)
63
* ..
64
*
65
* =====================================================================
66
*
67
* .. Local Scalars ..
68
COMPLEX
ctemp
69
INTEGER
i,ix,iy
70
* ..
71
IF
(n.LE.0) return
72
IF
(incx.EQ.1 .AND. incy.EQ.1)
THEN
73
*
74
* code for both increments equal to 1
75
DO
i = 1,n
76
ctemp = cx(i)
77
cx(i) = cy(i)
78
cy(i) = ctemp
79
END DO
80
ELSE
81
*
82
* code for unequal increments or equal increments not equal
83
* to 1
84
*
85
ix = 1
86
iy = 1
87
IF
(incx.LT.0) ix = (-n+1)*incx + 1
88
IF
(incy.LT.0) iy = (-n+1)*incy + 1
89
DO
i = 1,n
90
ctemp = cx(ix)
91
cx(ix) = cy(iy)
92
cy(iy) = ctemp
93
ix = ix + incx
94
iy = iy + incy
95
END DO
96
END IF
97
return
98
END
BLAS
SRC
cswap.f
Generated on Tue Sep 25 2012 16:26:59 for LAPACK by
1.8.1.1