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