Loading [MathJax]/extensions/TeX/AMSsymbols.js
MoDeNa
1.0
Software framework facilitating sequential multi-scale modelling
Main Page
Related Pages
Modules
+
Packages
Packages
+
Package Functions
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
x
y
Functions/Subroutines
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
x
y
+
Data Types List
Data Types List
Data Types
Class Hierarchy
+
Data Fields
+
All
_
a
b
c
e
f
g
i
l
m
n
o
p
s
t
u
v
w
+
Functions/Subroutines
_
a
b
c
e
f
g
i
l
m
n
o
p
t
u
v
w
Variables
+
Files
File List
+
Globals
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
x
+
Functions/Subroutines
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
x
+
Variables
a
b
c
d
e
i
k
l
m
n
o
p
r
s
t
w
x
Typedefs
Macros
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Macros
Modules
Pages
dswap.f
1
*> \brief \b DSWAP
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 DSWAP(N,DX,INCX,DY,INCY)
12
*
13
* .. Scalar Arguments ..
14
* INTEGER INCX,INCY,N
15
* ..
16
* .. Array Arguments ..
17
* DOUBLE PRECISION DX(*),DY(*)
18
* ..
19
*
20
*
21
*> \par Purpose:
22
* =============
23
*>
24
*> \verbatim
25
*>
26
*> interchanges two vectors.
27
*> uses unrolled loops for increments equal one.
28
*> \endverbatim
29
*
30
* Authors:
31
* ========
32
*
33
*> \author Univ. of Tennessee
34
*> \author Univ. of California Berkeley
35
*> \author Univ. of Colorado Denver
36
*> \author NAG Ltd.
37
*
38
*> \date November 2011
39
*
40
*> \ingroup double_blas_level1
41
*
42
*> \par Further Details:
43
* =====================
44
*>
45
*> \verbatim
46
*>
47
*> jack dongarra, linpack, 3/11/78.
48
*> modified 12/3/93, array(1) declarations changed to array(*)
49
*> \endverbatim
50
*>
51
* =====================================================================
52
SUBROUTINE
dswap(N,DX,INCX,DY,INCY)
53
*
54
* -- Reference BLAS level1 routine (version 3.4.0) --
55
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
56
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
57
* November 2011
58
*
59
* .. Scalar Arguments ..
60
INTEGER
incx,incy,n
61
* ..
62
* .. Array Arguments ..
63
DOUBLE PRECISION
dx(*),dy(*)
64
* ..
65
*
66
* =====================================================================
67
*
68
* .. Local Scalars ..
69
DOUBLE PRECISION
dtemp
70
INTEGER
i,ix,iy,m,mp1
71
* ..
72
* .. Intrinsic Functions ..
73
INTRINSIC
mod
74
* ..
75
IF
(n.LE.0)
RETURN
76
IF
(incx.EQ.1 .AND. incy.EQ.1)
THEN
77
*
78
* code for both increments equal to 1
79
*
80
*
81
* clean-up loop
82
*
83
m = mod(n,3)
84
IF
(m.NE.0)
THEN
85
DO
i = 1,m
86
dtemp = dx(i)
87
dx(i) = dy(i)
88
dy(i) = dtemp
89
END DO
90
IF
(n.LT.3)
RETURN
91
END IF
92
mp1 = m + 1
93
DO
i = mp1,n,3
94
dtemp = dx(i)
95
dx(i) = dy(i)
96
dy(i) = dtemp
97
dtemp = dx(i+1)
98
dx(i+1) = dy(i+1)
99
dy(i+1) = dtemp
100
dtemp = dx(i+2)
101
dx(i+2) = dy(i+2)
102
dy(i+2) = dtemp
103
END DO
104
ELSE
105
*
106
* code for unequal increments or equal increments not equal
107
* to 1
108
*
109
ix = 1
110
iy = 1
111
IF
(incx.LT.0) ix = (-n+1)*incx + 1
112
IF
(incy.LT.0) iy = (-n+1)*incy + 1
113
DO
i = 1,n
114
dtemp = dx(ix)
115
dx(ix) = dy(iy)
116
dy(iy) = dtemp
117
ix = ix + incx
118
iy = iy + incy
119
END DO
120
END IF
121
RETURN
122
END
123
applications
PUfoam
MoDeNaModels
CFD_tool_0D
src
eigen
src
dswap.f
Generated on Fri Jan 13 2017 16:47:18 for MoDeNa by
1.8.13