7 subroutine ezspline_modulo1_r8(spline_o, p1, ier)
10 type(EZspline1_r8) spline_o
11 real(ezspline_r8) :: p1
12 integer,
intent(out) :: ier
15 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
16 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
19 end subroutine ezspline_modulo1_r8
21 subroutine ezspline_modulo_array1_r8(spline_o, k1, p1, ier)
24 type(EZspline1_r8) spline_o
25 integer,
intent(in) :: k1
26 real(ezspline_r8) :: p1(k1)
27 integer,
intent(out) :: ier
30 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
31 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
34 end subroutine ezspline_modulo_array1_r8
37 subroutine ezspline_modulo2_r8(spline_o, p1, p2, ier)
40 type(EZspline2_r8) spline_o
41 real(ezspline_r8) :: p1, p2
42 integer,
intent(out) :: ier
45 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
46 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
49 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
50 p2 = mod( p2, spline_o%x2max - spline_o%x2min )
53 end subroutine ezspline_modulo2_r8
55 subroutine ezspline_modulo_array2_r8(spline_o, k1, k2, p1, p2, ier)
58 type(EZspline2_r8) spline_o
59 integer,
intent(in) :: k1, k2
60 real(ezspline_r8) :: p1(k1), p2(k2)
61 integer,
intent(out) :: ier
64 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
65 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
68 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
69 p2(1:k2) = mod( p2(1:k2), spline_o%x2max - spline_o%x2min )
72 end subroutine ezspline_modulo_array2_r8
74 subroutine ezspline_modulo_cloud2_r8(spline_o, k, p1, p2, ier)
77 type(EZspline2_r8) spline_o
78 integer,
intent(in) :: k
79 real(ezspline_r8) :: p1(k), p2(k)
80 integer,
intent(out) :: ier
83 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
84 p1(1:k) = mod( p1(1:k), spline_o%x1max - spline_o%x1min )
87 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
88 p2(1:k) = mod( p2(1:k), spline_o%x2max - spline_o%x2min )
91 end subroutine ezspline_modulo_cloud2_r8
94 subroutine ezspline_modulo3_r8(spline_o, p1, p2, p3, ier)
97 type(EZspline3_r8) spline_o
98 real(ezspline_r8) :: p1, p2, p3
99 integer,
intent(out) :: ier
102 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
103 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
106 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
107 p2 = mod( p2, spline_o%x2max - spline_o%x2min )
110 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
111 p3 = mod( p3, spline_o%x3max - spline_o%x3min )
114 end subroutine ezspline_modulo3_r8
116 subroutine ezspline_modulo_array3_r8(spline_o, k1, k2, k3, p1, p2, p3, ier)
119 type(EZspline3_r8) spline_o
120 integer,
intent(in) :: k1, k2, k3
121 real(ezspline_r8) :: p1(k1), p2(k2), p3(k3)
122 integer,
intent(out) :: ier
125 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
126 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
129 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
130 p2(1:k2) = mod( p2(1:k2), spline_o%x2max - spline_o%x2min )
133 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
134 p3(1:k3) = mod( p3(1:k3), spline_o%x3max - spline_o%x3min )
137 end subroutine ezspline_modulo_array3_r8
139 subroutine ezspline_modulo_cloud3_r8(spline_o, k, p1, p2, p3, ier)
142 type(EZspline3_r8) spline_o
143 integer,
intent(in) :: k
144 real(ezspline_r8) :: p1(k), p2(k), p3(k)
145 integer,
intent(out) :: ier
148 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
149 p1(1:k) = mod( p1(1:k), spline_o%x1max - spline_o%x1min )
152 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
153 p2(1:k) = mod( p2(1:k), spline_o%x2max - spline_o%x2min )
156 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
157 p3(1:k) = mod( p3(1:k), spline_o%x3max - spline_o%x3min )
160 end subroutine ezspline_modulo_cloud3_r8
167 subroutine ezspline_modulo1_r4(spline_o, p1, ier)
170 type(EZspline1_r4) spline_o
171 real(ezspline_r4) :: p1
172 integer,
intent(out) :: ier
175 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
176 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
179 end subroutine ezspline_modulo1_r4
181 subroutine ezspline_modulo_array1_r4(spline_o, k1, p1, ier)
184 type(EZspline1_r4) spline_o
185 integer,
intent(in) :: k1
186 real(ezspline_r4) :: p1(k1)
187 integer,
intent(out) :: ier
190 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
191 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
194 end subroutine ezspline_modulo_array1_r4
197 subroutine ezspline_modulo2_r4(spline_o, p1, p2, ier)
200 type(EZspline2_r4) spline_o
201 real(ezspline_r4) :: p1, p2
202 integer,
intent(out) :: ier
205 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
206 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
209 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
210 p2 = mod( p2, spline_o%x2max - spline_o%x2min )
213 end subroutine ezspline_modulo2_r4
215 subroutine ezspline_modulo_array2_r4(spline_o, k1, k2, p1, p2, ier)
218 type(EZspline2_r4) spline_o
219 integer,
intent(in) :: k1, k2
220 real(ezspline_r4) :: p1(k1), p2(k2)
221 integer,
intent(out) :: ier
224 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
225 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
228 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
229 p2(1:k2) = mod( p2(1:k2), spline_o%x2max - spline_o%x2min )
232 end subroutine ezspline_modulo_array2_r4
234 subroutine ezspline_modulo_cloud2_r4(spline_o, k, p1, p2, ier)
237 type(EZspline2_r4) spline_o
238 integer,
intent(in) :: k
239 real(ezspline_r4) :: p1(k), p2(k)
240 integer,
intent(out) :: ier
243 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
244 p1(1:k) = mod( p1(1:k), spline_o%x1max - spline_o%x1min )
247 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
248 p2(1:k) = mod( p2(1:k), spline_o%x2max - spline_o%x2min )
251 end subroutine ezspline_modulo_cloud2_r4
254 subroutine ezspline_modulo3_r4(spline_o, p1, p2, p3, ier)
257 type(EZspline3_r4) spline_o
258 real(ezspline_r4) :: p1, p2, p3
259 integer,
intent(out) :: ier
262 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
263 p1 = mod( p1, spline_o%x1max - spline_o%x1min )
266 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
267 p2 = mod( p2, spline_o%x2max - spline_o%x2min )
270 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
271 p3 = mod( p3, spline_o%x3max - spline_o%x3min )
274 end subroutine ezspline_modulo3_r4
276 subroutine ezspline_modulo_array3_r4(spline_o, k1, k2, k3, p1, p2, p3, ier)
279 type(EZspline3_r4) spline_o
280 integer,
intent(in) :: k1, k2, k3
281 real(ezspline_r4) :: p1(k1), p2(k2), p3(k3)
282 integer,
intent(out) :: ier
285 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
286 p1(1:k1) = mod( p1(1:k1), spline_o%x1max - spline_o%x1min )
289 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
290 p2(1:k2) = mod( p2(1:k2), spline_o%x2max - spline_o%x2min )
293 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
294 p3(1:k3) = mod( p3(1:k3), spline_o%x3max - spline_o%x3min )
297 end subroutine ezspline_modulo_array3_r4
299 subroutine ezspline_modulo_cloud3_r4(spline_o, k, p1, p2, p3, ier)
302 type(EZspline3_r4) spline_o
303 integer,
intent(in) :: k
304 real(ezspline_r4) :: p1(k), p2(k), p3(k)
305 integer,
intent(out) :: ier
308 if(spline_o%ibctype1(1)==-1 .OR. spline_o%ibctype1(2)==-1)
then
309 p1(1:k) = mod( p1(1:k), spline_o%x1max - spline_o%x1min )
312 if(spline_o%ibctype2(1)==-1 .OR. spline_o%ibctype2(2)==-1)
then
313 p2(1:k) = mod( p2(1:k), spline_o%x2max - spline_o%x2min )
316 if(spline_o%ibctype3(1)==-1 .OR. spline_o%ibctype3(2)==-1)
then
317 p3(1:k) = mod( p3(1:k), spline_o%x3max - spline_o%x3min )
320 end subroutine ezspline_modulo_cloud3_r4