~ubuntu-branches/ubuntu/trusty/fftw3/trusty

« back to all changes in this revision

Viewing changes to mpi/fftw3l-mpi.f03.in

  • Committer: Package Import Robot
  • Author(s): Julian Taylor
  • Date: 2012-06-21 23:07:47 UTC
  • mfrom: (3.1.8 sid)
  • Revision ID: package-import@ubuntu.com-20120621230747-qj9twdwsyps36x30
Tags: 3.3.2-3ubuntu1
* merge with Debian (LP: #1007259, #781726)
* remove the mpi packages not suitable for main
* add debian/source/extended-diff-ignore to ignore generated files
* add hardening flags to long long test so build log check does not complain

Show diffs side-by-side

added added

removed removed

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