10 ezspline_preinit1_r8, &
11 ezspline_preinit2_r8, &
12 ezspline_preinit3_r8, &
13 ezspline_preinit1_r4, &
14 ezspline_preinit2_r4, &
29 ezspline_allocated1_r8, &
30 ezspline_allocated2_r8, &
31 ezspline_allocated3_r8, &
32 ezspline_allocated1_r4, &
33 ezspline_allocated2_r4, &
34 ezspline_allocated3_r4
39 subroutine ezspline_preinit1_r8(spline_o)
41 type(EZspline1_r8) :: spline_o
42 spline_o%nguard=123456789
45 end subroutine ezspline_preinit1_r8
47 subroutine ezspline_preinit2_r8(spline_o)
49 type(EZspline2_r8) :: spline_o
50 spline_o%nguard=123456789
52 spline_o%ibctype1=0 ; spline_o%ibctype2=0
53 end subroutine ezspline_preinit2_r8
55 subroutine ezspline_preinit3_r8(spline_o)
57 type(EZspline3_r8) spline_o
58 spline_o%nguard=123456789
60 spline_o%ibctype1=0 ; spline_o%ibctype2=0 ; spline_o%ibctype3=0
61 end subroutine ezspline_preinit3_r8
63 subroutine ezspline_preinit1_r4(spline_o)
65 type(EZspline1_r4) spline_o
66 spline_o%nguard=123456789
69 end subroutine ezspline_preinit1_r4
71 subroutine ezspline_preinit2_r4(spline_o)
73 type(EZspline2_r4) spline_o
74 spline_o%nguard=123456789
76 spline_o%ibctype1=0 ; spline_o%ibctype2=0
77 end subroutine ezspline_preinit2_r4
79 subroutine ezspline_preinit3_r4(spline_o)
81 type(EZspline3_r4) spline_o
82 spline_o%nguard=123456789
84 spline_o%ibctype1=0 ; spline_o%ibctype2=0 ; spline_o%ibctype3=0
85 end subroutine ezspline_preinit3_r4
87 logical function ezspline_allocated1_r8(spline_o)
89 type(EZspline1_r8) spline_o
90 ezspline_allocated1_r8 =
allocated(spline_o%fspl) &
91 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
92 & .and. (spline_o%nguard == 123456789)
93 end function ezspline_allocated1_r8
95 logical function ezspline_allocated2_r8(spline_o)
97 type(EZspline2_r8) spline_o
98 ezspline_allocated2_r8 =
allocated(spline_o%fspl) &
99 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
100 & .and.
allocated(spline_o%x2) .and.
allocated(spline_o%x2pkg) &
101 & .and. (spline_o%nguard == 123456789)
102 end function ezspline_allocated2_r8
104 logical function ezspline_allocated3_r8(spline_o)
106 type(EZspline3_r8) spline_o
107 ezspline_allocated3_r8 =
allocated(spline_o%fspl) &
108 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
109 & .and.
allocated(spline_o%x2) .and.
allocated(spline_o%x2pkg) &
110 & .and.
allocated(spline_o%x3) .and.
allocated(spline_o%x3pkg) &
111 & .and. (spline_o%nguard == 123456789)
112 end function ezspline_allocated3_r8
114 logical function ezspline_allocated1_r4(spline_o)
116 type(EZspline1_r4) spline_o
117 ezspline_allocated1_r4 =
allocated(spline_o%fspl) &
118 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
119 & .and. (spline_o%nguard == 123456789)
120 end function ezspline_allocated1_r4
122 logical function ezspline_allocated2_r4(spline_o)
124 type(EZspline2_r4) spline_o
125 ezspline_allocated2_r4 =
allocated(spline_o%fspl) &
126 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
127 & .and.
allocated(spline_o%x2) .and.
allocated(spline_o%x2pkg) &
128 & .and. (spline_o%nguard == 123456789)
129 end function ezspline_allocated2_r4
131 logical function ezspline_allocated3_r4(spline_o)
133 type(EZspline3_r4) spline_o
134 ezspline_allocated3_r4 =
allocated(spline_o%fspl) &
135 & .and.
allocated(spline_o%x1) .and.
allocated(spline_o%x1pkg) &
136 & .and.
allocated(spline_o%x2) .and.
allocated(spline_o%x2pkg) &
137 & .and.
allocated(spline_o%x3) .and.
allocated(spline_o%x3pkg) &
138 & .and. (spline_o%nguard == 123456789)
139 end function ezspline_allocated3_r4
141 subroutine ezmake_ict1(i,ict)
148 integer,
intent(in) :: i
149 integer,
intent(out) :: ict(3)
161 end subroutine ezmake_ict1
163 subroutine ezmake_ict2(i1,i2,ict)
170 integer,
intent(in) :: i1,i2
171 integer,
intent(out) :: ict(6)
173 integer :: imark,isum,iii
185 ict = (/1, 0, 0, 0, 0, 0 /)
186 else if(isum.eq.1)
then
188 ict = (/0, 1, 0, 0, 0, 0 /)
190 ict = (/0, 0, 1, 0, 0, 0 /)
192 else if(isum.eq.2)
then
194 ict = (/0, 0, 0, 1, 0, 0 /)
195 else if(i2.eq.2)
then
196 ict = (/0, 0, 0, 0, 1, 0 /)
198 ict = (/0, 0, 0, 0, 0, 1 /)
200 else if(isum.eq.3)
then
203 else if(i1.eq.2)
then
205 else if(i1.eq.1)
then
210 else if(isum.eq.4)
then
213 else if(i2.eq.3)
then
218 else if(isum.eq.5)
then
221 else if(i2.eq.3)
then
230 if(iii.eq.imark)
then
238 end subroutine ezmake_ict2
240 subroutine ezmake_ict3(i1,i2,i3,ict)
247 integer,
intent(in) :: i1,i2,i3
248 integer,
intent(out) :: ict(10)
250 integer :: imark,isum,iii
257 if(max(i1,i2,i3).eq.3)
then
265 ict = (/1, 0, 0, 0, 0, 0, 0, 0, 0, 0 /)
267 else if(isum.eq.1)
then
270 ict = (/0, 1, 0, 0, 0, 0, 0, 0, 0, 0 /)
271 else if(i2.eq.1)
then
272 ict = (/0, 0, 1, 0, 0, 0, 0, 0, 0, 0 /)
274 ict = (/0, 0, 0, 1, 0, 0, 0, 0, 0, 0 /)
277 else if(isum.eq.2)
then
282 ict = (/0, 0, 0, 0, 1, 0, 0, 0, 0, 0 /)
283 else if(i2.eq.2)
then
284 ict = (/0, 0, 0, 0, 0, 1, 0, 0, 0, 0 /)
285 else if(i3.eq.2)
then
286 ict = (/0, 0, 0, 0, 0, 0, 1, 0, 0, 0 /)
287 else if(i3.eq.0)
then
288 ict = (/0, 0, 0, 0, 0, 0, 0, 1, 0, 0 /)
289 else if(i2.eq.0)
then
290 ict = (/0, 0, 0, 0, 0, 0, 0, 0, 1, 0 /)
292 ict = (/0, 0, 0, 0, 0, 0, 0, 0, 0, 1 /)
295 else if(isum.eq.3)
then
303 else if(i1.eq.1)
then
306 else if(i2.eq.1)
then
319 else if(isum.eq.-3)
then
323 else if(i2.eq.3)
then
325 else if(i3.eq.3)
then
329 else if(isum.eq.4)
then
334 else if(i2.eq.1)
then
339 else if(i1.eq.1)
then
349 else if(isum.eq.-4)
then
357 else if(i1.eq.1)
then
371 else if(isum.eq.5)
then
375 else if(i2.eq.1)
then
381 else if(isum.eq.-5)
then
386 else if(i2.eq.1)
then
391 else if(i1.eq.2)
then
397 else if(i1.eq.1)
then
412 else if(isum.eq.-6)
then
417 else if(i2.eq.2)
then
419 else if(i2.eq.1)
then
424 else if(i1.eq.2)
then
427 else if(i2.eq.1)
then
430 else if(i1.eq.1)
then
441 else if(isum.eq.-7)
then
446 else if(i2.eq.2)
then
451 else if(i1.eq.2)
then
462 else if(isum.eq.-8)
then
466 else if(i2.eq.2)
then
477 if(abs(isum).gt.2)
then
479 if(iii.eq.imark)
then
487 end subroutine ezmake_ict3
489 end module ezspline_obj