Chris@10
|
1 ! Generated automatically. DO NOT EDIT!
|
Chris@10
|
2
|
Chris@10
|
3 include 'fftw3l.f03'
|
Chris@10
|
4
|
Chris@10
|
5
|
Chris@10
|
6 type, bind(C) :: fftwl_mpi_ddim
|
Chris@10
|
7 integer(C_INTPTR_T) n, ib, ob
|
Chris@10
|
8 end type fftwl_mpi_ddim
|
Chris@10
|
9
|
Chris@10
|
10 interface
|
Chris@10
|
11 subroutine fftwl_mpi_init() bind(C, name='fftwl_mpi_init')
|
Chris@10
|
12 import
|
Chris@10
|
13 end subroutine fftwl_mpi_init
|
Chris@10
|
14
|
Chris@10
|
15 subroutine fftwl_mpi_cleanup() bind(C, name='fftwl_mpi_cleanup')
|
Chris@10
|
16 import
|
Chris@10
|
17 end subroutine fftwl_mpi_cleanup
|
Chris@10
|
18
|
Chris@10
|
19 integer(C_INTPTR_T) function fftwl_mpi_local_size_many_transposed(rnk,n,howmany,block0,block1,comm,local_n0,local_0_start, &
|
Chris@10
|
20 local_n1,local_1_start) &
|
Chris@10
|
21 bind(C, name='fftwl_mpi_local_size_many_transposed_f03')
|
Chris@10
|
22 import
|
Chris@10
|
23 integer(C_INT), value :: rnk
|
Chris@10
|
24 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
25 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
26 integer(C_INTPTR_T), value :: block0
|
Chris@10
|
27 integer(C_INTPTR_T), value :: block1
|
Chris@10
|
28 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
29 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
30 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
31 integer(C_INTPTR_T), intent(out) :: local_n1
|
Chris@10
|
32 integer(C_INTPTR_T), intent(out) :: local_1_start
|
Chris@10
|
33 end function fftwl_mpi_local_size_many_transposed
|
Chris@10
|
34
|
Chris@10
|
35 integer(C_INTPTR_T) function fftwl_mpi_local_size_many(rnk,n,howmany,block0,comm,local_n0,local_0_start) &
|
Chris@10
|
36 bind(C, name='fftwl_mpi_local_size_many_f03')
|
Chris@10
|
37 import
|
Chris@10
|
38 integer(C_INT), value :: rnk
|
Chris@10
|
39 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
40 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
41 integer(C_INTPTR_T), value :: block0
|
Chris@10
|
42 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
43 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
44 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
45 end function fftwl_mpi_local_size_many
|
Chris@10
|
46
|
Chris@10
|
47 integer(C_INTPTR_T) function fftwl_mpi_local_size_transposed(rnk,n,comm,local_n0,local_0_start,local_n1,local_1_start) &
|
Chris@10
|
48 bind(C, name='fftwl_mpi_local_size_transposed_f03')
|
Chris@10
|
49 import
|
Chris@10
|
50 integer(C_INT), value :: rnk
|
Chris@10
|
51 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
52 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
53 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
54 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
55 integer(C_INTPTR_T), intent(out) :: local_n1
|
Chris@10
|
56 integer(C_INTPTR_T), intent(out) :: local_1_start
|
Chris@10
|
57 end function fftwl_mpi_local_size_transposed
|
Chris@10
|
58
|
Chris@10
|
59 integer(C_INTPTR_T) function fftwl_mpi_local_size(rnk,n,comm,local_n0,local_0_start) bind(C, name='fftwl_mpi_local_size_f03')
|
Chris@10
|
60 import
|
Chris@10
|
61 integer(C_INT), value :: rnk
|
Chris@10
|
62 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
63 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
64 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
65 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
66 end function fftwl_mpi_local_size
|
Chris@10
|
67
|
Chris@10
|
68 integer(C_INTPTR_T) function fftwl_mpi_local_size_many_1d(n0,howmany,comm,sign,flags,local_ni,local_i_start,local_no, &
|
Chris@10
|
69 local_o_start) bind(C, name='fftwl_mpi_local_size_many_1d_f03')
|
Chris@10
|
70 import
|
Chris@10
|
71 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
72 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
73 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
74 integer(C_INT), value :: sign
|
Chris@10
|
75 integer(C_INT), value :: flags
|
Chris@10
|
76 integer(C_INTPTR_T), intent(out) :: local_ni
|
Chris@10
|
77 integer(C_INTPTR_T), intent(out) :: local_i_start
|
Chris@10
|
78 integer(C_INTPTR_T), intent(out) :: local_no
|
Chris@10
|
79 integer(C_INTPTR_T), intent(out) :: local_o_start
|
Chris@10
|
80 end function fftwl_mpi_local_size_many_1d
|
Chris@10
|
81
|
Chris@10
|
82 integer(C_INTPTR_T) function fftwl_mpi_local_size_1d(n0,comm,sign,flags,local_ni,local_i_start,local_no,local_o_start) &
|
Chris@10
|
83 bind(C, name='fftwl_mpi_local_size_1d_f03')
|
Chris@10
|
84 import
|
Chris@10
|
85 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
86 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
87 integer(C_INT), value :: sign
|
Chris@10
|
88 integer(C_INT), value :: flags
|
Chris@10
|
89 integer(C_INTPTR_T), intent(out) :: local_ni
|
Chris@10
|
90 integer(C_INTPTR_T), intent(out) :: local_i_start
|
Chris@10
|
91 integer(C_INTPTR_T), intent(out) :: local_no
|
Chris@10
|
92 integer(C_INTPTR_T), intent(out) :: local_o_start
|
Chris@10
|
93 end function fftwl_mpi_local_size_1d
|
Chris@10
|
94
|
Chris@10
|
95 integer(C_INTPTR_T) function fftwl_mpi_local_size_2d(n0,n1,comm,local_n0,local_0_start) &
|
Chris@10
|
96 bind(C, name='fftwl_mpi_local_size_2d_f03')
|
Chris@10
|
97 import
|
Chris@10
|
98 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
99 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
100 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
101 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
102 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
103 end function fftwl_mpi_local_size_2d
|
Chris@10
|
104
|
Chris@10
|
105 integer(C_INTPTR_T) function fftwl_mpi_local_size_2d_transposed(n0,n1,comm,local_n0,local_0_start,local_n1,local_1_start) &
|
Chris@10
|
106 bind(C, name='fftwl_mpi_local_size_2d_transposed_f03')
|
Chris@10
|
107 import
|
Chris@10
|
108 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
109 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
110 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
111 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
112 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
113 integer(C_INTPTR_T), intent(out) :: local_n1
|
Chris@10
|
114 integer(C_INTPTR_T), intent(out) :: local_1_start
|
Chris@10
|
115 end function fftwl_mpi_local_size_2d_transposed
|
Chris@10
|
116
|
Chris@10
|
117 integer(C_INTPTR_T) function fftwl_mpi_local_size_3d(n0,n1,n2,comm,local_n0,local_0_start) &
|
Chris@10
|
118 bind(C, name='fftwl_mpi_local_size_3d_f03')
|
Chris@10
|
119 import
|
Chris@10
|
120 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
121 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
122 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
123 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
124 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
125 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
126 end function fftwl_mpi_local_size_3d
|
Chris@10
|
127
|
Chris@10
|
128 integer(C_INTPTR_T) function fftwl_mpi_local_size_3d_transposed(n0,n1,n2,comm,local_n0,local_0_start,local_n1,local_1_start) &
|
Chris@10
|
129 bind(C, name='fftwl_mpi_local_size_3d_transposed_f03')
|
Chris@10
|
130 import
|
Chris@10
|
131 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
132 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
133 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
134 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
135 integer(C_INTPTR_T), intent(out) :: local_n0
|
Chris@10
|
136 integer(C_INTPTR_T), intent(out) :: local_0_start
|
Chris@10
|
137 integer(C_INTPTR_T), intent(out) :: local_n1
|
Chris@10
|
138 integer(C_INTPTR_T), intent(out) :: local_1_start
|
Chris@10
|
139 end function fftwl_mpi_local_size_3d_transposed
|
Chris@10
|
140
|
Chris@10
|
141 type(C_PTR) function fftwl_mpi_plan_many_transpose(n0,n1,howmany,block0,block1,in,out,comm,flags) &
|
Chris@10
|
142 bind(C, name='fftwl_mpi_plan_many_transpose_f03')
|
Chris@10
|
143 import
|
Chris@10
|
144 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
145 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
146 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
147 integer(C_INTPTR_T), value :: block0
|
Chris@10
|
148 integer(C_INTPTR_T), value :: block1
|
Chris@10
|
149 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
150 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
151 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
152 integer(C_INT), value :: flags
|
Chris@10
|
153 end function fftwl_mpi_plan_many_transpose
|
Chris@10
|
154
|
Chris@10
|
155 type(C_PTR) function fftwl_mpi_plan_transpose(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_transpose_f03')
|
Chris@10
|
156 import
|
Chris@10
|
157 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
158 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
159 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
160 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
161 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
162 integer(C_INT), value :: flags
|
Chris@10
|
163 end function fftwl_mpi_plan_transpose
|
Chris@10
|
164
|
Chris@10
|
165 type(C_PTR) function fftwl_mpi_plan_many_dft(rnk,n,howmany,block,tblock,in,out,comm,sign,flags) &
|
Chris@10
|
166 bind(C, name='fftwl_mpi_plan_many_dft_f03')
|
Chris@10
|
167 import
|
Chris@10
|
168 integer(C_INT), value :: rnk
|
Chris@10
|
169 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
170 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
171 integer(C_INTPTR_T), value :: block
|
Chris@10
|
172 integer(C_INTPTR_T), value :: tblock
|
Chris@10
|
173 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
174 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
175 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
176 integer(C_INT), value :: sign
|
Chris@10
|
177 integer(C_INT), value :: flags
|
Chris@10
|
178 end function fftwl_mpi_plan_many_dft
|
Chris@10
|
179
|
Chris@10
|
180 type(C_PTR) function fftwl_mpi_plan_dft(rnk,n,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_f03')
|
Chris@10
|
181 import
|
Chris@10
|
182 integer(C_INT), value :: rnk
|
Chris@10
|
183 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
184 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
185 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
186 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
187 integer(C_INT), value :: sign
|
Chris@10
|
188 integer(C_INT), value :: flags
|
Chris@10
|
189 end function fftwl_mpi_plan_dft
|
Chris@10
|
190
|
Chris@10
|
191 type(C_PTR) function fftwl_mpi_plan_dft_1d(n0,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_1d_f03')
|
Chris@10
|
192 import
|
Chris@10
|
193 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
194 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
195 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
196 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
197 integer(C_INT), value :: sign
|
Chris@10
|
198 integer(C_INT), value :: flags
|
Chris@10
|
199 end function fftwl_mpi_plan_dft_1d
|
Chris@10
|
200
|
Chris@10
|
201 type(C_PTR) function fftwl_mpi_plan_dft_2d(n0,n1,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_2d_f03')
|
Chris@10
|
202 import
|
Chris@10
|
203 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
204 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
205 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
206 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
207 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
208 integer(C_INT), value :: sign
|
Chris@10
|
209 integer(C_INT), value :: flags
|
Chris@10
|
210 end function fftwl_mpi_plan_dft_2d
|
Chris@10
|
211
|
Chris@10
|
212 type(C_PTR) function fftwl_mpi_plan_dft_3d(n0,n1,n2,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_3d_f03')
|
Chris@10
|
213 import
|
Chris@10
|
214 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
215 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
216 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
217 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
218 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
219 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
220 integer(C_INT), value :: sign
|
Chris@10
|
221 integer(C_INT), value :: flags
|
Chris@10
|
222 end function fftwl_mpi_plan_dft_3d
|
Chris@10
|
223
|
Chris@10
|
224 type(C_PTR) function fftwl_mpi_plan_many_r2r(rnk,n,howmany,iblock,oblock,in,out,comm,kind,flags) &
|
Chris@10
|
225 bind(C, name='fftwl_mpi_plan_many_r2r_f03')
|
Chris@10
|
226 import
|
Chris@10
|
227 integer(C_INT), value :: rnk
|
Chris@10
|
228 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
229 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
230 integer(C_INTPTR_T), value :: iblock
|
Chris@10
|
231 integer(C_INTPTR_T), value :: oblock
|
Chris@10
|
232 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
233 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
234 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
235 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
|
Chris@10
|
236 integer(C_INT), value :: flags
|
Chris@10
|
237 end function fftwl_mpi_plan_many_r2r
|
Chris@10
|
238
|
Chris@10
|
239 type(C_PTR) function fftwl_mpi_plan_r2r(rnk,n,in,out,comm,kind,flags) bind(C, name='fftwl_mpi_plan_r2r_f03')
|
Chris@10
|
240 import
|
Chris@10
|
241 integer(C_INT), value :: rnk
|
Chris@10
|
242 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
243 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
244 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
245 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
246 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
|
Chris@10
|
247 integer(C_INT), value :: flags
|
Chris@10
|
248 end function fftwl_mpi_plan_r2r
|
Chris@10
|
249
|
Chris@10
|
250 type(C_PTR) function fftwl_mpi_plan_r2r_2d(n0,n1,in,out,comm,kind0,kind1,flags) bind(C, name='fftwl_mpi_plan_r2r_2d_f03')
|
Chris@10
|
251 import
|
Chris@10
|
252 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
253 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
254 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
255 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
256 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
257 integer(C_FFTW_R2R_KIND), value :: kind0
|
Chris@10
|
258 integer(C_FFTW_R2R_KIND), value :: kind1
|
Chris@10
|
259 integer(C_INT), value :: flags
|
Chris@10
|
260 end function fftwl_mpi_plan_r2r_2d
|
Chris@10
|
261
|
Chris@10
|
262 type(C_PTR) function fftwl_mpi_plan_r2r_3d(n0,n1,n2,in,out,comm,kind0,kind1,kind2,flags) &
|
Chris@10
|
263 bind(C, name='fftwl_mpi_plan_r2r_3d_f03')
|
Chris@10
|
264 import
|
Chris@10
|
265 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
266 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
267 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
268 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
269 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
270 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
271 integer(C_FFTW_R2R_KIND), value :: kind0
|
Chris@10
|
272 integer(C_FFTW_R2R_KIND), value :: kind1
|
Chris@10
|
273 integer(C_FFTW_R2R_KIND), value :: kind2
|
Chris@10
|
274 integer(C_INT), value :: flags
|
Chris@10
|
275 end function fftwl_mpi_plan_r2r_3d
|
Chris@10
|
276
|
Chris@10
|
277 type(C_PTR) function fftwl_mpi_plan_many_dft_r2c(rnk,n,howmany,iblock,oblock,in,out,comm,flags) &
|
Chris@10
|
278 bind(C, name='fftwl_mpi_plan_many_dft_r2c_f03')
|
Chris@10
|
279 import
|
Chris@10
|
280 integer(C_INT), value :: rnk
|
Chris@10
|
281 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
282 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
283 integer(C_INTPTR_T), value :: iblock
|
Chris@10
|
284 integer(C_INTPTR_T), value :: oblock
|
Chris@10
|
285 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
286 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
287 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
288 integer(C_INT), value :: flags
|
Chris@10
|
289 end function fftwl_mpi_plan_many_dft_r2c
|
Chris@10
|
290
|
Chris@10
|
291 type(C_PTR) function fftwl_mpi_plan_dft_r2c(rnk,n,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_f03')
|
Chris@10
|
292 import
|
Chris@10
|
293 integer(C_INT), value :: rnk
|
Chris@10
|
294 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
295 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
296 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
297 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
298 integer(C_INT), value :: flags
|
Chris@10
|
299 end function fftwl_mpi_plan_dft_r2c
|
Chris@10
|
300
|
Chris@10
|
301 type(C_PTR) function fftwl_mpi_plan_dft_r2c_2d(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_2d_f03')
|
Chris@10
|
302 import
|
Chris@10
|
303 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
304 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
305 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
306 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
307 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
308 integer(C_INT), value :: flags
|
Chris@10
|
309 end function fftwl_mpi_plan_dft_r2c_2d
|
Chris@10
|
310
|
Chris@10
|
311 type(C_PTR) function fftwl_mpi_plan_dft_r2c_3d(n0,n1,n2,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_3d_f03')
|
Chris@10
|
312 import
|
Chris@10
|
313 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
314 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
315 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
316 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
|
Chris@10
|
317 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
318 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
319 integer(C_INT), value :: flags
|
Chris@10
|
320 end function fftwl_mpi_plan_dft_r2c_3d
|
Chris@10
|
321
|
Chris@10
|
322 type(C_PTR) function fftwl_mpi_plan_many_dft_c2r(rnk,n,howmany,iblock,oblock,in,out,comm,flags) &
|
Chris@10
|
323 bind(C, name='fftwl_mpi_plan_many_dft_c2r_f03')
|
Chris@10
|
324 import
|
Chris@10
|
325 integer(C_INT), value :: rnk
|
Chris@10
|
326 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
327 integer(C_INTPTR_T), value :: howmany
|
Chris@10
|
328 integer(C_INTPTR_T), value :: iblock
|
Chris@10
|
329 integer(C_INTPTR_T), value :: oblock
|
Chris@10
|
330 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
331 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
332 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
333 integer(C_INT), value :: flags
|
Chris@10
|
334 end function fftwl_mpi_plan_many_dft_c2r
|
Chris@10
|
335
|
Chris@10
|
336 type(C_PTR) function fftwl_mpi_plan_dft_c2r(rnk,n,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_f03')
|
Chris@10
|
337 import
|
Chris@10
|
338 integer(C_INT), value :: rnk
|
Chris@10
|
339 integer(C_INTPTR_T), dimension(*), intent(in) :: n
|
Chris@10
|
340 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
341 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
342 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
343 integer(C_INT), value :: flags
|
Chris@10
|
344 end function fftwl_mpi_plan_dft_c2r
|
Chris@10
|
345
|
Chris@10
|
346 type(C_PTR) function fftwl_mpi_plan_dft_c2r_2d(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_2d_f03')
|
Chris@10
|
347 import
|
Chris@10
|
348 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
349 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
350 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
351 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
352 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
353 integer(C_INT), value :: flags
|
Chris@10
|
354 end function fftwl_mpi_plan_dft_c2r_2d
|
Chris@10
|
355
|
Chris@10
|
356 type(C_PTR) function fftwl_mpi_plan_dft_c2r_3d(n0,n1,n2,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_3d_f03')
|
Chris@10
|
357 import
|
Chris@10
|
358 integer(C_INTPTR_T), value :: n0
|
Chris@10
|
359 integer(C_INTPTR_T), value :: n1
|
Chris@10
|
360 integer(C_INTPTR_T), value :: n2
|
Chris@10
|
361 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
|
Chris@10
|
362 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
363 integer(C_MPI_FINT), value :: comm
|
Chris@10
|
364 integer(C_INT), value :: flags
|
Chris@10
|
365 end function fftwl_mpi_plan_dft_c2r_3d
|
Chris@10
|
366
|
Chris@10
|
367 subroutine fftwl_mpi_gather_wisdom(comm_) bind(C, name='fftwl_mpi_gather_wisdom_f03')
|
Chris@10
|
368 import
|
Chris@10
|
369 integer(C_MPI_FINT), value :: comm_
|
Chris@10
|
370 end subroutine fftwl_mpi_gather_wisdom
|
Chris@10
|
371
|
Chris@10
|
372 subroutine fftwl_mpi_broadcast_wisdom(comm_) bind(C, name='fftwl_mpi_broadcast_wisdom_f03')
|
Chris@10
|
373 import
|
Chris@10
|
374 integer(C_MPI_FINT), value :: comm_
|
Chris@10
|
375 end subroutine fftwl_mpi_broadcast_wisdom
|
Chris@10
|
376
|
Chris@10
|
377 subroutine fftwl_mpi_execute_dft(p,in,out) bind(C, name='fftwl_mpi_execute_dft')
|
Chris@10
|
378 import
|
Chris@10
|
379 type(C_PTR), value :: p
|
Chris@10
|
380 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
|
Chris@10
|
381 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
382 end subroutine fftwl_mpi_execute_dft
|
Chris@10
|
383
|
Chris@10
|
384 subroutine fftwl_mpi_execute_dft_r2c(p,in,out) bind(C, name='fftwl_mpi_execute_dft_r2c')
|
Chris@10
|
385 import
|
Chris@10
|
386 type(C_PTR), value :: p
|
Chris@10
|
387 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
|
Chris@10
|
388 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
|
Chris@10
|
389 end subroutine fftwl_mpi_execute_dft_r2c
|
Chris@10
|
390
|
Chris@10
|
391 subroutine fftwl_mpi_execute_dft_c2r(p,in,out) bind(C, name='fftwl_mpi_execute_dft_c2r')
|
Chris@10
|
392 import
|
Chris@10
|
393 type(C_PTR), value :: p
|
Chris@10
|
394 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
|
Chris@10
|
395 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
396 end subroutine fftwl_mpi_execute_dft_c2r
|
Chris@10
|
397
|
Chris@10
|
398 subroutine fftwl_mpi_execute_r2r(p,in,out) bind(C, name='fftwl_mpi_execute_r2r')
|
Chris@10
|
399 import
|
Chris@10
|
400 type(C_PTR), value :: p
|
Chris@10
|
401 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
|
Chris@10
|
402 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
|
Chris@10
|
403 end subroutine fftwl_mpi_execute_r2r
|
Chris@10
|
404
|
Chris@10
|
405 end interface
|