1pub const FFTW_FORWARD: i32 = -1;
4pub const FFTW_BACKWARD: u32 = 1;
5pub const FFTW_NO_TIMELIMIT: f64 = -1.0;
6pub const FFTW_MEASURE: u32 = 0;
7pub const FFTW_DESTROY_INPUT: u32 = 1;
8pub const FFTW_UNALIGNED: u32 = 2;
9pub const FFTW_CONSERVE_MEMORY: u32 = 4;
10pub const FFTW_EXHAUSTIVE: u32 = 8;
11pub const FFTW_PRESERVE_INPUT: u32 = 16;
12pub const FFTW_PATIENT: u32 = 32;
13pub const FFTW_ESTIMATE: u32 = 64;
14pub const FFTW_WISDOM_ONLY: u32 = 2097152;
15pub const FFTW_ESTIMATE_PATIENT: u32 = 128;
16pub const FFTW_BELIEVE_PCOST: u32 = 256;
17pub const FFTW_NO_DFT_R2HC: u32 = 512;
18pub const FFTW_NO_NONTHREADED: u32 = 1024;
19pub const FFTW_NO_BUFFERING: u32 = 2048;
20pub const FFTW_NO_INDIRECT_OP: u32 = 4096;
21pub const FFTW_ALLOW_LARGE_GENERIC: u32 = 8192;
22pub const FFTW_NO_RANK_SPLITS: u32 = 16384;
23pub const FFTW_NO_VRANK_SPLITS: u32 = 32768;
24pub const FFTW_NO_VRECURSE: u32 = 65536;
25pub const FFTW_NO_SIMD: u32 = 131072;
26pub const FFTW_NO_SLOW: u32 = 262144;
27pub const FFTW_NO_FIXED_RADIX_LARGE_N: u32 = 524288;
28pub const FFTW_ALLOW_PRUNING: u32 = 1048576;
29#[repr(u32)]
30#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
31pub enum fftw_r2r_kind_do_not_use_me {
32 FFTW_R2HC = 0,
33 FFTW_HC2R = 1,
34 FFTW_DHT = 2,
35 FFTW_REDFT00 = 3,
36 FFTW_REDFT01 = 4,
37 FFTW_REDFT10 = 5,
38 FFTW_REDFT11 = 6,
39 FFTW_RODFT00 = 7,
40 FFTW_RODFT01 = 8,
41 FFTW_RODFT10 = 9,
42 FFTW_RODFT11 = 10,
43}
44#[repr(C)]
45#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
46pub struct fftw_iodim_do_not_use_me {
47 pub n: ::std::os::raw::c_int,
48 pub is: ::std::os::raw::c_int,
49 pub os: ::std::os::raw::c_int,
50}
51#[test]
52fn bindgen_test_layout_fftw_iodim_do_not_use_me() {
53 assert_eq!(
54 ::core::mem::size_of::<fftw_iodim_do_not_use_me>(),
55 12usize,
56 concat!("Size of: ", stringify!(fftw_iodim_do_not_use_me))
57 );
58 assert_eq!(
59 ::core::mem::align_of::<fftw_iodim_do_not_use_me>(),
60 4usize,
61 concat!("Alignment of ", stringify!(fftw_iodim_do_not_use_me))
62 );
63 assert_eq!(
64 unsafe { &(*(::core::ptr::null::<fftw_iodim_do_not_use_me>())).n as *const _ as usize },
65 0usize,
66 concat!(
67 "Offset of field: ",
68 stringify!(fftw_iodim_do_not_use_me),
69 "::",
70 stringify!(n)
71 )
72 );
73 assert_eq!(
74 unsafe { &(*(::core::ptr::null::<fftw_iodim_do_not_use_me>())).is as *const _ as usize },
75 4usize,
76 concat!(
77 "Offset of field: ",
78 stringify!(fftw_iodim_do_not_use_me),
79 "::",
80 stringify!(is)
81 )
82 );
83 assert_eq!(
84 unsafe { &(*(::core::ptr::null::<fftw_iodim_do_not_use_me>())).os as *const _ as usize },
85 8usize,
86 concat!(
87 "Offset of field: ",
88 stringify!(fftw_iodim_do_not_use_me),
89 "::",
90 stringify!(os)
91 )
92 );
93}
94#[repr(C)]
95#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
96pub struct fftw_iodim64_do_not_use_me {
97 pub n: isize,
98 pub is: isize,
99 pub os: isize,
100}
101#[test]
102fn bindgen_test_layout_fftw_iodim64_do_not_use_me() {
103 assert_eq!(
104 ::core::mem::size_of::<fftw_iodim64_do_not_use_me>(),
105 24usize,
106 concat!("Size of: ", stringify!(fftw_iodim64_do_not_use_me))
107 );
108 assert_eq!(
109 ::core::mem::align_of::<fftw_iodim64_do_not_use_me>(),
110 8usize,
111 concat!("Alignment of ", stringify!(fftw_iodim64_do_not_use_me))
112 );
113 assert_eq!(
114 unsafe { &(*(::core::ptr::null::<fftw_iodim64_do_not_use_me>())).n as *const _ as usize },
115 0usize,
116 concat!(
117 "Offset of field: ",
118 stringify!(fftw_iodim64_do_not_use_me),
119 "::",
120 stringify!(n)
121 )
122 );
123 assert_eq!(
124 unsafe { &(*(::core::ptr::null::<fftw_iodim64_do_not_use_me>())).is as *const _ as usize },
125 8usize,
126 concat!(
127 "Offset of field: ",
128 stringify!(fftw_iodim64_do_not_use_me),
129 "::",
130 stringify!(is)
131 )
132 );
133 assert_eq!(
134 unsafe { &(*(::core::ptr::null::<fftw_iodim64_do_not_use_me>())).os as *const _ as usize },
135 16usize,
136 concat!(
137 "Offset of field: ",
138 stringify!(fftw_iodim64_do_not_use_me),
139 "::",
140 stringify!(os)
141 )
142 );
143}
144pub type fftw_write_char_func_do_not_use_me = ::core::option::Option<
145 unsafe extern "C" fn(c: ::std::os::raw::c_char, arg1: *mut ::core::ffi::c_void),
146>;
147pub type fftw_read_char_func_do_not_use_me = ::core::option::Option<
148 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int,
149>;
150#[repr(C)]
151#[derive(Debug, Copy, Clone)]
152pub struct fftw_plan_s {
153 _unused: [u8; 0],
154}
155pub type fftw_plan = *mut fftw_plan_s;
156pub type fftw_iodim = fftw_iodim_do_not_use_me;
157pub type fftw_iodim64 = fftw_iodim64_do_not_use_me;
158pub use self::fftw_r2r_kind_do_not_use_me as fftw_r2r_kind;
159pub type fftw_write_char_func = fftw_write_char_func_do_not_use_me;
160pub type fftw_read_char_func = fftw_read_char_func_do_not_use_me;
161extern "C" {
162 pub fn fftw_execute(p: fftw_plan);
163}
164extern "C" {
165 pub fn fftw_plan_dft(
166 rank: ::std::os::raw::c_int,
167 n: *const ::std::os::raw::c_int,
168 in_: *mut fftw_complex,
169 out: *mut fftw_complex,
170 sign: ::std::os::raw::c_int,
171 flags: ::std::os::raw::c_uint,
172 ) -> fftw_plan;
173}
174extern "C" {
175 pub fn fftw_plan_dft_1d(
176 n: ::std::os::raw::c_int,
177 in_: *mut fftw_complex,
178 out: *mut fftw_complex,
179 sign: ::std::os::raw::c_int,
180 flags: ::std::os::raw::c_uint,
181 ) -> fftw_plan;
182}
183extern "C" {
184 pub fn fftw_plan_dft_2d(
185 n0: ::std::os::raw::c_int,
186 n1: ::std::os::raw::c_int,
187 in_: *mut fftw_complex,
188 out: *mut fftw_complex,
189 sign: ::std::os::raw::c_int,
190 flags: ::std::os::raw::c_uint,
191 ) -> fftw_plan;
192}
193extern "C" {
194 pub fn fftw_plan_dft_3d(
195 n0: ::std::os::raw::c_int,
196 n1: ::std::os::raw::c_int,
197 n2: ::std::os::raw::c_int,
198 in_: *mut fftw_complex,
199 out: *mut fftw_complex,
200 sign: ::std::os::raw::c_int,
201 flags: ::std::os::raw::c_uint,
202 ) -> fftw_plan;
203}
204extern "C" {
205 pub fn fftw_plan_many_dft(
206 rank: ::std::os::raw::c_int,
207 n: *const ::std::os::raw::c_int,
208 howmany: ::std::os::raw::c_int,
209 in_: *mut fftw_complex,
210 inembed: *const ::std::os::raw::c_int,
211 istride: ::std::os::raw::c_int,
212 idist: ::std::os::raw::c_int,
213 out: *mut fftw_complex,
214 onembed: *const ::std::os::raw::c_int,
215 ostride: ::std::os::raw::c_int,
216 odist: ::std::os::raw::c_int,
217 sign: ::std::os::raw::c_int,
218 flags: ::std::os::raw::c_uint,
219 ) -> fftw_plan;
220}
221extern "C" {
222 pub fn fftw_plan_guru_dft(
223 rank: ::std::os::raw::c_int,
224 dims: *const fftw_iodim,
225 howmany_rank: ::std::os::raw::c_int,
226 howmany_dims: *const fftw_iodim,
227 in_: *mut fftw_complex,
228 out: *mut fftw_complex,
229 sign: ::std::os::raw::c_int,
230 flags: ::std::os::raw::c_uint,
231 ) -> fftw_plan;
232}
233extern "C" {
234 pub fn fftw_plan_guru_split_dft(
235 rank: ::std::os::raw::c_int,
236 dims: *const fftw_iodim,
237 howmany_rank: ::std::os::raw::c_int,
238 howmany_dims: *const fftw_iodim,
239 ri: *mut f64,
240 ii: *mut f64,
241 ro: *mut f64,
242 io: *mut f64,
243 flags: ::std::os::raw::c_uint,
244 ) -> fftw_plan;
245}
246extern "C" {
247 pub fn fftw_plan_guru64_dft(
248 rank: ::std::os::raw::c_int,
249 dims: *const fftw_iodim64,
250 howmany_rank: ::std::os::raw::c_int,
251 howmany_dims: *const fftw_iodim64,
252 in_: *mut fftw_complex,
253 out: *mut fftw_complex,
254 sign: ::std::os::raw::c_int,
255 flags: ::std::os::raw::c_uint,
256 ) -> fftw_plan;
257}
258extern "C" {
259 pub fn fftw_plan_guru64_split_dft(
260 rank: ::std::os::raw::c_int,
261 dims: *const fftw_iodim64,
262 howmany_rank: ::std::os::raw::c_int,
263 howmany_dims: *const fftw_iodim64,
264 ri: *mut f64,
265 ii: *mut f64,
266 ro: *mut f64,
267 io: *mut f64,
268 flags: ::std::os::raw::c_uint,
269 ) -> fftw_plan;
270}
271extern "C" {
272 pub fn fftw_execute_dft(p: fftw_plan, in_: *mut fftw_complex, out: *mut fftw_complex);
273}
274extern "C" {
275 pub fn fftw_execute_split_dft(
276 p: fftw_plan,
277 ri: *mut f64,
278 ii: *mut f64,
279 ro: *mut f64,
280 io: *mut f64,
281 );
282}
283extern "C" {
284 pub fn fftw_plan_many_dft_r2c(
285 rank: ::std::os::raw::c_int,
286 n: *const ::std::os::raw::c_int,
287 howmany: ::std::os::raw::c_int,
288 in_: *mut f64,
289 inembed: *const ::std::os::raw::c_int,
290 istride: ::std::os::raw::c_int,
291 idist: ::std::os::raw::c_int,
292 out: *mut fftw_complex,
293 onembed: *const ::std::os::raw::c_int,
294 ostride: ::std::os::raw::c_int,
295 odist: ::std::os::raw::c_int,
296 flags: ::std::os::raw::c_uint,
297 ) -> fftw_plan;
298}
299extern "C" {
300 pub fn fftw_plan_dft_r2c(
301 rank: ::std::os::raw::c_int,
302 n: *const ::std::os::raw::c_int,
303 in_: *mut f64,
304 out: *mut fftw_complex,
305 flags: ::std::os::raw::c_uint,
306 ) -> fftw_plan;
307}
308extern "C" {
309 pub fn fftw_plan_dft_r2c_1d(
310 n: ::std::os::raw::c_int,
311 in_: *mut f64,
312 out: *mut fftw_complex,
313 flags: ::std::os::raw::c_uint,
314 ) -> fftw_plan;
315}
316extern "C" {
317 pub fn fftw_plan_dft_r2c_2d(
318 n0: ::std::os::raw::c_int,
319 n1: ::std::os::raw::c_int,
320 in_: *mut f64,
321 out: *mut fftw_complex,
322 flags: ::std::os::raw::c_uint,
323 ) -> fftw_plan;
324}
325extern "C" {
326 pub fn fftw_plan_dft_r2c_3d(
327 n0: ::std::os::raw::c_int,
328 n1: ::std::os::raw::c_int,
329 n2: ::std::os::raw::c_int,
330 in_: *mut f64,
331 out: *mut fftw_complex,
332 flags: ::std::os::raw::c_uint,
333 ) -> fftw_plan;
334}
335extern "C" {
336 pub fn fftw_plan_many_dft_c2r(
337 rank: ::std::os::raw::c_int,
338 n: *const ::std::os::raw::c_int,
339 howmany: ::std::os::raw::c_int,
340 in_: *mut fftw_complex,
341 inembed: *const ::std::os::raw::c_int,
342 istride: ::std::os::raw::c_int,
343 idist: ::std::os::raw::c_int,
344 out: *mut f64,
345 onembed: *const ::std::os::raw::c_int,
346 ostride: ::std::os::raw::c_int,
347 odist: ::std::os::raw::c_int,
348 flags: ::std::os::raw::c_uint,
349 ) -> fftw_plan;
350}
351extern "C" {
352 pub fn fftw_plan_dft_c2r(
353 rank: ::std::os::raw::c_int,
354 n: *const ::std::os::raw::c_int,
355 in_: *mut fftw_complex,
356 out: *mut f64,
357 flags: ::std::os::raw::c_uint,
358 ) -> fftw_plan;
359}
360extern "C" {
361 pub fn fftw_plan_dft_c2r_1d(
362 n: ::std::os::raw::c_int,
363 in_: *mut fftw_complex,
364 out: *mut f64,
365 flags: ::std::os::raw::c_uint,
366 ) -> fftw_plan;
367}
368extern "C" {
369 pub fn fftw_plan_dft_c2r_2d(
370 n0: ::std::os::raw::c_int,
371 n1: ::std::os::raw::c_int,
372 in_: *mut fftw_complex,
373 out: *mut f64,
374 flags: ::std::os::raw::c_uint,
375 ) -> fftw_plan;
376}
377extern "C" {
378 pub fn fftw_plan_dft_c2r_3d(
379 n0: ::std::os::raw::c_int,
380 n1: ::std::os::raw::c_int,
381 n2: ::std::os::raw::c_int,
382 in_: *mut fftw_complex,
383 out: *mut f64,
384 flags: ::std::os::raw::c_uint,
385 ) -> fftw_plan;
386}
387extern "C" {
388 pub fn fftw_plan_guru_dft_r2c(
389 rank: ::std::os::raw::c_int,
390 dims: *const fftw_iodim,
391 howmany_rank: ::std::os::raw::c_int,
392 howmany_dims: *const fftw_iodim,
393 in_: *mut f64,
394 out: *mut fftw_complex,
395 flags: ::std::os::raw::c_uint,
396 ) -> fftw_plan;
397}
398extern "C" {
399 pub fn fftw_plan_guru_dft_c2r(
400 rank: ::std::os::raw::c_int,
401 dims: *const fftw_iodim,
402 howmany_rank: ::std::os::raw::c_int,
403 howmany_dims: *const fftw_iodim,
404 in_: *mut fftw_complex,
405 out: *mut f64,
406 flags: ::std::os::raw::c_uint,
407 ) -> fftw_plan;
408}
409extern "C" {
410 pub fn fftw_plan_guru_split_dft_r2c(
411 rank: ::std::os::raw::c_int,
412 dims: *const fftw_iodim,
413 howmany_rank: ::std::os::raw::c_int,
414 howmany_dims: *const fftw_iodim,
415 in_: *mut f64,
416 ro: *mut f64,
417 io: *mut f64,
418 flags: ::std::os::raw::c_uint,
419 ) -> fftw_plan;
420}
421extern "C" {
422 pub fn fftw_plan_guru_split_dft_c2r(
423 rank: ::std::os::raw::c_int,
424 dims: *const fftw_iodim,
425 howmany_rank: ::std::os::raw::c_int,
426 howmany_dims: *const fftw_iodim,
427 ri: *mut f64,
428 ii: *mut f64,
429 out: *mut f64,
430 flags: ::std::os::raw::c_uint,
431 ) -> fftw_plan;
432}
433extern "C" {
434 pub fn fftw_plan_guru64_dft_r2c(
435 rank: ::std::os::raw::c_int,
436 dims: *const fftw_iodim64,
437 howmany_rank: ::std::os::raw::c_int,
438 howmany_dims: *const fftw_iodim64,
439 in_: *mut f64,
440 out: *mut fftw_complex,
441 flags: ::std::os::raw::c_uint,
442 ) -> fftw_plan;
443}
444extern "C" {
445 pub fn fftw_plan_guru64_dft_c2r(
446 rank: ::std::os::raw::c_int,
447 dims: *const fftw_iodim64,
448 howmany_rank: ::std::os::raw::c_int,
449 howmany_dims: *const fftw_iodim64,
450 in_: *mut fftw_complex,
451 out: *mut f64,
452 flags: ::std::os::raw::c_uint,
453 ) -> fftw_plan;
454}
455extern "C" {
456 pub fn fftw_plan_guru64_split_dft_r2c(
457 rank: ::std::os::raw::c_int,
458 dims: *const fftw_iodim64,
459 howmany_rank: ::std::os::raw::c_int,
460 howmany_dims: *const fftw_iodim64,
461 in_: *mut f64,
462 ro: *mut f64,
463 io: *mut f64,
464 flags: ::std::os::raw::c_uint,
465 ) -> fftw_plan;
466}
467extern "C" {
468 pub fn fftw_plan_guru64_split_dft_c2r(
469 rank: ::std::os::raw::c_int,
470 dims: *const fftw_iodim64,
471 howmany_rank: ::std::os::raw::c_int,
472 howmany_dims: *const fftw_iodim64,
473 ri: *mut f64,
474 ii: *mut f64,
475 out: *mut f64,
476 flags: ::std::os::raw::c_uint,
477 ) -> fftw_plan;
478}
479extern "C" {
480 pub fn fftw_execute_dft_r2c(p: fftw_plan, in_: *mut f64, out: *mut fftw_complex);
481}
482extern "C" {
483 pub fn fftw_execute_dft_c2r(p: fftw_plan, in_: *mut fftw_complex, out: *mut f64);
484}
485extern "C" {
486 pub fn fftw_execute_split_dft_r2c(p: fftw_plan, in_: *mut f64, ro: *mut f64, io: *mut f64);
487}
488extern "C" {
489 pub fn fftw_execute_split_dft_c2r(p: fftw_plan, ri: *mut f64, ii: *mut f64, out: *mut f64);
490}
491extern "C" {
492 pub fn fftw_plan_many_r2r(
493 rank: ::std::os::raw::c_int,
494 n: *const ::std::os::raw::c_int,
495 howmany: ::std::os::raw::c_int,
496 in_: *mut f64,
497 inembed: *const ::std::os::raw::c_int,
498 istride: ::std::os::raw::c_int,
499 idist: ::std::os::raw::c_int,
500 out: *mut f64,
501 onembed: *const ::std::os::raw::c_int,
502 ostride: ::std::os::raw::c_int,
503 odist: ::std::os::raw::c_int,
504 kind: *const fftw_r2r_kind,
505 flags: ::std::os::raw::c_uint,
506 ) -> fftw_plan;
507}
508extern "C" {
509 pub fn fftw_plan_r2r(
510 rank: ::std::os::raw::c_int,
511 n: *const ::std::os::raw::c_int,
512 in_: *mut f64,
513 out: *mut f64,
514 kind: *const fftw_r2r_kind,
515 flags: ::std::os::raw::c_uint,
516 ) -> fftw_plan;
517}
518extern "C" {
519 pub fn fftw_plan_r2r_1d(
520 n: ::std::os::raw::c_int,
521 in_: *mut f64,
522 out: *mut f64,
523 kind: fftw_r2r_kind,
524 flags: ::std::os::raw::c_uint,
525 ) -> fftw_plan;
526}
527extern "C" {
528 pub fn fftw_plan_r2r_2d(
529 n0: ::std::os::raw::c_int,
530 n1: ::std::os::raw::c_int,
531 in_: *mut f64,
532 out: *mut f64,
533 kind0: fftw_r2r_kind,
534 kind1: fftw_r2r_kind,
535 flags: ::std::os::raw::c_uint,
536 ) -> fftw_plan;
537}
538extern "C" {
539 pub fn fftw_plan_r2r_3d(
540 n0: ::std::os::raw::c_int,
541 n1: ::std::os::raw::c_int,
542 n2: ::std::os::raw::c_int,
543 in_: *mut f64,
544 out: *mut f64,
545 kind0: fftw_r2r_kind,
546 kind1: fftw_r2r_kind,
547 kind2: fftw_r2r_kind,
548 flags: ::std::os::raw::c_uint,
549 ) -> fftw_plan;
550}
551extern "C" {
552 pub fn fftw_plan_guru_r2r(
553 rank: ::std::os::raw::c_int,
554 dims: *const fftw_iodim,
555 howmany_rank: ::std::os::raw::c_int,
556 howmany_dims: *const fftw_iodim,
557 in_: *mut f64,
558 out: *mut f64,
559 kind: *const fftw_r2r_kind,
560 flags: ::std::os::raw::c_uint,
561 ) -> fftw_plan;
562}
563extern "C" {
564 pub fn fftw_plan_guru64_r2r(
565 rank: ::std::os::raw::c_int,
566 dims: *const fftw_iodim64,
567 howmany_rank: ::std::os::raw::c_int,
568 howmany_dims: *const fftw_iodim64,
569 in_: *mut f64,
570 out: *mut f64,
571 kind: *const fftw_r2r_kind,
572 flags: ::std::os::raw::c_uint,
573 ) -> fftw_plan;
574}
575extern "C" {
576 pub fn fftw_execute_r2r(p: fftw_plan, in_: *mut f64, out: *mut f64);
577}
578extern "C" {
579 pub fn fftw_destroy_plan(p: fftw_plan);
580}
581extern "C" {
582 pub fn fftw_forget_wisdom();
583}
584extern "C" {
585 pub fn fftw_cleanup();
586}
587extern "C" {
588 pub fn fftw_set_timelimit(t: f64);
589}
590extern "C" {
591 pub fn fftw_plan_with_nthreads(nthreads: ::std::os::raw::c_int);
592}
593extern "C" {
594 pub fn fftw_init_threads() -> ::std::os::raw::c_int;
595}
596extern "C" {
597 pub fn fftw_cleanup_threads();
598}
599extern "C" {
600 pub fn fftw_make_planner_thread_safe();
601}
602extern "C" {
603 pub fn fftw_export_wisdom_to_filename(
604 filename: *const ::std::os::raw::c_char,
605 ) -> ::std::os::raw::c_int;
606}
607extern "C" {
608 pub fn fftw_export_wisdom_to_file(output_file: *mut FILE);
609}
610extern "C" {
611 pub fn fftw_export_wisdom_to_string() -> *mut ::std::os::raw::c_char;
612}
613extern "C" {
614 pub fn fftw_export_wisdom(write_char: fftw_write_char_func, data: *mut ::core::ffi::c_void);
615}
616extern "C" {
617 pub fn fftw_import_system_wisdom() -> ::std::os::raw::c_int;
618}
619extern "C" {
620 pub fn fftw_import_wisdom_from_filename(
621 filename: *const ::std::os::raw::c_char,
622 ) -> ::std::os::raw::c_int;
623}
624extern "C" {
625 pub fn fftw_import_wisdom_from_file(input_file: *mut FILE) -> ::std::os::raw::c_int;
626}
627extern "C" {
628 pub fn fftw_import_wisdom_from_string(
629 input_string: *const ::std::os::raw::c_char,
630 ) -> ::std::os::raw::c_int;
631}
632extern "C" {
633 pub fn fftw_import_wisdom(
634 read_char: fftw_read_char_func,
635 data: *mut ::core::ffi::c_void,
636 ) -> ::std::os::raw::c_int;
637}
638extern "C" {
639 pub fn fftw_fprint_plan(p: fftw_plan, output_file: *mut FILE);
640}
641extern "C" {
642 pub fn fftw_print_plan(p: fftw_plan);
643}
644extern "C" {
645 pub fn fftw_sprint_plan(p: fftw_plan) -> *mut ::std::os::raw::c_char;
646}
647extern "C" {
648 pub fn fftw_malloc(n: usize) -> *mut ::core::ffi::c_void;
649}
650extern "C" {
651 pub fn fftw_alloc_real(n: usize) -> *mut f64;
652}
653extern "C" {
654 pub fn fftw_alloc_complex(n: usize) -> *mut fftw_complex;
655}
656extern "C" {
657 pub fn fftw_free(p: *mut ::core::ffi::c_void);
658}
659extern "C" {
660 pub fn fftw_flops(p: fftw_plan, add: *mut f64, mul: *mut f64, fmas: *mut f64);
661}
662extern "C" {
663 pub fn fftw_estimate_cost(p: fftw_plan) -> f64;
664}
665extern "C" {
666 pub fn fftw_cost(p: fftw_plan) -> f64;
667}
668extern "C" {
669 pub fn fftw_alignment_of(p: *mut f64) -> ::std::os::raw::c_int;
670}
671#[repr(C)]
672#[derive(Debug, Copy, Clone)]
673pub struct fftwf_plan_s {
674 _unused: [u8; 0],
675}
676pub type fftwf_plan = *mut fftwf_plan_s;
677pub type fftwf_iodim = fftw_iodim_do_not_use_me;
678pub type fftwf_iodim64 = fftw_iodim64_do_not_use_me;
679pub use self::fftw_r2r_kind_do_not_use_me as fftwf_r2r_kind;
680pub type fftwf_write_char_func = fftw_write_char_func_do_not_use_me;
681pub type fftwf_read_char_func = fftw_read_char_func_do_not_use_me;
682extern "C" {
683 pub fn fftwf_execute(p: fftwf_plan);
684}
685extern "C" {
686 pub fn fftwf_plan_dft(
687 rank: ::std::os::raw::c_int,
688 n: *const ::std::os::raw::c_int,
689 in_: *mut fftwf_complex,
690 out: *mut fftwf_complex,
691 sign: ::std::os::raw::c_int,
692 flags: ::std::os::raw::c_uint,
693 ) -> fftwf_plan;
694}
695extern "C" {
696 pub fn fftwf_plan_dft_1d(
697 n: ::std::os::raw::c_int,
698 in_: *mut fftwf_complex,
699 out: *mut fftwf_complex,
700 sign: ::std::os::raw::c_int,
701 flags: ::std::os::raw::c_uint,
702 ) -> fftwf_plan;
703}
704extern "C" {
705 pub fn fftwf_plan_dft_2d(
706 n0: ::std::os::raw::c_int,
707 n1: ::std::os::raw::c_int,
708 in_: *mut fftwf_complex,
709 out: *mut fftwf_complex,
710 sign: ::std::os::raw::c_int,
711 flags: ::std::os::raw::c_uint,
712 ) -> fftwf_plan;
713}
714extern "C" {
715 pub fn fftwf_plan_dft_3d(
716 n0: ::std::os::raw::c_int,
717 n1: ::std::os::raw::c_int,
718 n2: ::std::os::raw::c_int,
719 in_: *mut fftwf_complex,
720 out: *mut fftwf_complex,
721 sign: ::std::os::raw::c_int,
722 flags: ::std::os::raw::c_uint,
723 ) -> fftwf_plan;
724}
725extern "C" {
726 pub fn fftwf_plan_many_dft(
727 rank: ::std::os::raw::c_int,
728 n: *const ::std::os::raw::c_int,
729 howmany: ::std::os::raw::c_int,
730 in_: *mut fftwf_complex,
731 inembed: *const ::std::os::raw::c_int,
732 istride: ::std::os::raw::c_int,
733 idist: ::std::os::raw::c_int,
734 out: *mut fftwf_complex,
735 onembed: *const ::std::os::raw::c_int,
736 ostride: ::std::os::raw::c_int,
737 odist: ::std::os::raw::c_int,
738 sign: ::std::os::raw::c_int,
739 flags: ::std::os::raw::c_uint,
740 ) -> fftwf_plan;
741}
742extern "C" {
743 pub fn fftwf_plan_guru_dft(
744 rank: ::std::os::raw::c_int,
745 dims: *const fftwf_iodim,
746 howmany_rank: ::std::os::raw::c_int,
747 howmany_dims: *const fftwf_iodim,
748 in_: *mut fftwf_complex,
749 out: *mut fftwf_complex,
750 sign: ::std::os::raw::c_int,
751 flags: ::std::os::raw::c_uint,
752 ) -> fftwf_plan;
753}
754extern "C" {
755 pub fn fftwf_plan_guru_split_dft(
756 rank: ::std::os::raw::c_int,
757 dims: *const fftwf_iodim,
758 howmany_rank: ::std::os::raw::c_int,
759 howmany_dims: *const fftwf_iodim,
760 ri: *mut f32,
761 ii: *mut f32,
762 ro: *mut f32,
763 io: *mut f32,
764 flags: ::std::os::raw::c_uint,
765 ) -> fftwf_plan;
766}
767extern "C" {
768 pub fn fftwf_plan_guru64_dft(
769 rank: ::std::os::raw::c_int,
770 dims: *const fftwf_iodim64,
771 howmany_rank: ::std::os::raw::c_int,
772 howmany_dims: *const fftwf_iodim64,
773 in_: *mut fftwf_complex,
774 out: *mut fftwf_complex,
775 sign: ::std::os::raw::c_int,
776 flags: ::std::os::raw::c_uint,
777 ) -> fftwf_plan;
778}
779extern "C" {
780 pub fn fftwf_plan_guru64_split_dft(
781 rank: ::std::os::raw::c_int,
782 dims: *const fftwf_iodim64,
783 howmany_rank: ::std::os::raw::c_int,
784 howmany_dims: *const fftwf_iodim64,
785 ri: *mut f32,
786 ii: *mut f32,
787 ro: *mut f32,
788 io: *mut f32,
789 flags: ::std::os::raw::c_uint,
790 ) -> fftwf_plan;
791}
792extern "C" {
793 pub fn fftwf_execute_dft(p: fftwf_plan, in_: *mut fftwf_complex, out: *mut fftwf_complex);
794}
795extern "C" {
796 pub fn fftwf_execute_split_dft(
797 p: fftwf_plan,
798 ri: *mut f32,
799 ii: *mut f32,
800 ro: *mut f32,
801 io: *mut f32,
802 );
803}
804extern "C" {
805 pub fn fftwf_plan_many_dft_r2c(
806 rank: ::std::os::raw::c_int,
807 n: *const ::std::os::raw::c_int,
808 howmany: ::std::os::raw::c_int,
809 in_: *mut f32,
810 inembed: *const ::std::os::raw::c_int,
811 istride: ::std::os::raw::c_int,
812 idist: ::std::os::raw::c_int,
813 out: *mut fftwf_complex,
814 onembed: *const ::std::os::raw::c_int,
815 ostride: ::std::os::raw::c_int,
816 odist: ::std::os::raw::c_int,
817 flags: ::std::os::raw::c_uint,
818 ) -> fftwf_plan;
819}
820extern "C" {
821 pub fn fftwf_plan_dft_r2c(
822 rank: ::std::os::raw::c_int,
823 n: *const ::std::os::raw::c_int,
824 in_: *mut f32,
825 out: *mut fftwf_complex,
826 flags: ::std::os::raw::c_uint,
827 ) -> fftwf_plan;
828}
829extern "C" {
830 pub fn fftwf_plan_dft_r2c_1d(
831 n: ::std::os::raw::c_int,
832 in_: *mut f32,
833 out: *mut fftwf_complex,
834 flags: ::std::os::raw::c_uint,
835 ) -> fftwf_plan;
836}
837extern "C" {
838 pub fn fftwf_plan_dft_r2c_2d(
839 n0: ::std::os::raw::c_int,
840 n1: ::std::os::raw::c_int,
841 in_: *mut f32,
842 out: *mut fftwf_complex,
843 flags: ::std::os::raw::c_uint,
844 ) -> fftwf_plan;
845}
846extern "C" {
847 pub fn fftwf_plan_dft_r2c_3d(
848 n0: ::std::os::raw::c_int,
849 n1: ::std::os::raw::c_int,
850 n2: ::std::os::raw::c_int,
851 in_: *mut f32,
852 out: *mut fftwf_complex,
853 flags: ::std::os::raw::c_uint,
854 ) -> fftwf_plan;
855}
856extern "C" {
857 pub fn fftwf_plan_many_dft_c2r(
858 rank: ::std::os::raw::c_int,
859 n: *const ::std::os::raw::c_int,
860 howmany: ::std::os::raw::c_int,
861 in_: *mut fftwf_complex,
862 inembed: *const ::std::os::raw::c_int,
863 istride: ::std::os::raw::c_int,
864 idist: ::std::os::raw::c_int,
865 out: *mut f32,
866 onembed: *const ::std::os::raw::c_int,
867 ostride: ::std::os::raw::c_int,
868 odist: ::std::os::raw::c_int,
869 flags: ::std::os::raw::c_uint,
870 ) -> fftwf_plan;
871}
872extern "C" {
873 pub fn fftwf_plan_dft_c2r(
874 rank: ::std::os::raw::c_int,
875 n: *const ::std::os::raw::c_int,
876 in_: *mut fftwf_complex,
877 out: *mut f32,
878 flags: ::std::os::raw::c_uint,
879 ) -> fftwf_plan;
880}
881extern "C" {
882 pub fn fftwf_plan_dft_c2r_1d(
883 n: ::std::os::raw::c_int,
884 in_: *mut fftwf_complex,
885 out: *mut f32,
886 flags: ::std::os::raw::c_uint,
887 ) -> fftwf_plan;
888}
889extern "C" {
890 pub fn fftwf_plan_dft_c2r_2d(
891 n0: ::std::os::raw::c_int,
892 n1: ::std::os::raw::c_int,
893 in_: *mut fftwf_complex,
894 out: *mut f32,
895 flags: ::std::os::raw::c_uint,
896 ) -> fftwf_plan;
897}
898extern "C" {
899 pub fn fftwf_plan_dft_c2r_3d(
900 n0: ::std::os::raw::c_int,
901 n1: ::std::os::raw::c_int,
902 n2: ::std::os::raw::c_int,
903 in_: *mut fftwf_complex,
904 out: *mut f32,
905 flags: ::std::os::raw::c_uint,
906 ) -> fftwf_plan;
907}
908extern "C" {
909 pub fn fftwf_plan_guru_dft_r2c(
910 rank: ::std::os::raw::c_int,
911 dims: *const fftwf_iodim,
912 howmany_rank: ::std::os::raw::c_int,
913 howmany_dims: *const fftwf_iodim,
914 in_: *mut f32,
915 out: *mut fftwf_complex,
916 flags: ::std::os::raw::c_uint,
917 ) -> fftwf_plan;
918}
919extern "C" {
920 pub fn fftwf_plan_guru_dft_c2r(
921 rank: ::std::os::raw::c_int,
922 dims: *const fftwf_iodim,
923 howmany_rank: ::std::os::raw::c_int,
924 howmany_dims: *const fftwf_iodim,
925 in_: *mut fftwf_complex,
926 out: *mut f32,
927 flags: ::std::os::raw::c_uint,
928 ) -> fftwf_plan;
929}
930extern "C" {
931 pub fn fftwf_plan_guru_split_dft_r2c(
932 rank: ::std::os::raw::c_int,
933 dims: *const fftwf_iodim,
934 howmany_rank: ::std::os::raw::c_int,
935 howmany_dims: *const fftwf_iodim,
936 in_: *mut f32,
937 ro: *mut f32,
938 io: *mut f32,
939 flags: ::std::os::raw::c_uint,
940 ) -> fftwf_plan;
941}
942extern "C" {
943 pub fn fftwf_plan_guru_split_dft_c2r(
944 rank: ::std::os::raw::c_int,
945 dims: *const fftwf_iodim,
946 howmany_rank: ::std::os::raw::c_int,
947 howmany_dims: *const fftwf_iodim,
948 ri: *mut f32,
949 ii: *mut f32,
950 out: *mut f32,
951 flags: ::std::os::raw::c_uint,
952 ) -> fftwf_plan;
953}
954extern "C" {
955 pub fn fftwf_plan_guru64_dft_r2c(
956 rank: ::std::os::raw::c_int,
957 dims: *const fftwf_iodim64,
958 howmany_rank: ::std::os::raw::c_int,
959 howmany_dims: *const fftwf_iodim64,
960 in_: *mut f32,
961 out: *mut fftwf_complex,
962 flags: ::std::os::raw::c_uint,
963 ) -> fftwf_plan;
964}
965extern "C" {
966 pub fn fftwf_plan_guru64_dft_c2r(
967 rank: ::std::os::raw::c_int,
968 dims: *const fftwf_iodim64,
969 howmany_rank: ::std::os::raw::c_int,
970 howmany_dims: *const fftwf_iodim64,
971 in_: *mut fftwf_complex,
972 out: *mut f32,
973 flags: ::std::os::raw::c_uint,
974 ) -> fftwf_plan;
975}
976extern "C" {
977 pub fn fftwf_plan_guru64_split_dft_r2c(
978 rank: ::std::os::raw::c_int,
979 dims: *const fftwf_iodim64,
980 howmany_rank: ::std::os::raw::c_int,
981 howmany_dims: *const fftwf_iodim64,
982 in_: *mut f32,
983 ro: *mut f32,
984 io: *mut f32,
985 flags: ::std::os::raw::c_uint,
986 ) -> fftwf_plan;
987}
988extern "C" {
989 pub fn fftwf_plan_guru64_split_dft_c2r(
990 rank: ::std::os::raw::c_int,
991 dims: *const fftwf_iodim64,
992 howmany_rank: ::std::os::raw::c_int,
993 howmany_dims: *const fftwf_iodim64,
994 ri: *mut f32,
995 ii: *mut f32,
996 out: *mut f32,
997 flags: ::std::os::raw::c_uint,
998 ) -> fftwf_plan;
999}
1000extern "C" {
1001 pub fn fftwf_execute_dft_r2c(p: fftwf_plan, in_: *mut f32, out: *mut fftwf_complex);
1002}
1003extern "C" {
1004 pub fn fftwf_execute_dft_c2r(p: fftwf_plan, in_: *mut fftwf_complex, out: *mut f32);
1005}
1006extern "C" {
1007 pub fn fftwf_execute_split_dft_r2c(p: fftwf_plan, in_: *mut f32, ro: *mut f32, io: *mut f32);
1008}
1009extern "C" {
1010 pub fn fftwf_execute_split_dft_c2r(p: fftwf_plan, ri: *mut f32, ii: *mut f32, out: *mut f32);
1011}
1012extern "C" {
1013 pub fn fftwf_plan_many_r2r(
1014 rank: ::std::os::raw::c_int,
1015 n: *const ::std::os::raw::c_int,
1016 howmany: ::std::os::raw::c_int,
1017 in_: *mut f32,
1018 inembed: *const ::std::os::raw::c_int,
1019 istride: ::std::os::raw::c_int,
1020 idist: ::std::os::raw::c_int,
1021 out: *mut f32,
1022 onembed: *const ::std::os::raw::c_int,
1023 ostride: ::std::os::raw::c_int,
1024 odist: ::std::os::raw::c_int,
1025 kind: *const fftwf_r2r_kind,
1026 flags: ::std::os::raw::c_uint,
1027 ) -> fftwf_plan;
1028}
1029extern "C" {
1030 pub fn fftwf_plan_r2r(
1031 rank: ::std::os::raw::c_int,
1032 n: *const ::std::os::raw::c_int,
1033 in_: *mut f32,
1034 out: *mut f32,
1035 kind: *const fftwf_r2r_kind,
1036 flags: ::std::os::raw::c_uint,
1037 ) -> fftwf_plan;
1038}
1039extern "C" {
1040 pub fn fftwf_plan_r2r_1d(
1041 n: ::std::os::raw::c_int,
1042 in_: *mut f32,
1043 out: *mut f32,
1044 kind: fftwf_r2r_kind,
1045 flags: ::std::os::raw::c_uint,
1046 ) -> fftwf_plan;
1047}
1048extern "C" {
1049 pub fn fftwf_plan_r2r_2d(
1050 n0: ::std::os::raw::c_int,
1051 n1: ::std::os::raw::c_int,
1052 in_: *mut f32,
1053 out: *mut f32,
1054 kind0: fftwf_r2r_kind,
1055 kind1: fftwf_r2r_kind,
1056 flags: ::std::os::raw::c_uint,
1057 ) -> fftwf_plan;
1058}
1059extern "C" {
1060 pub fn fftwf_plan_r2r_3d(
1061 n0: ::std::os::raw::c_int,
1062 n1: ::std::os::raw::c_int,
1063 n2: ::std::os::raw::c_int,
1064 in_: *mut f32,
1065 out: *mut f32,
1066 kind0: fftwf_r2r_kind,
1067 kind1: fftwf_r2r_kind,
1068 kind2: fftwf_r2r_kind,
1069 flags: ::std::os::raw::c_uint,
1070 ) -> fftwf_plan;
1071}
1072extern "C" {
1073 pub fn fftwf_plan_guru_r2r(
1074 rank: ::std::os::raw::c_int,
1075 dims: *const fftwf_iodim,
1076 howmany_rank: ::std::os::raw::c_int,
1077 howmany_dims: *const fftwf_iodim,
1078 in_: *mut f32,
1079 out: *mut f32,
1080 kind: *const fftwf_r2r_kind,
1081 flags: ::std::os::raw::c_uint,
1082 ) -> fftwf_plan;
1083}
1084extern "C" {
1085 pub fn fftwf_plan_guru64_r2r(
1086 rank: ::std::os::raw::c_int,
1087 dims: *const fftwf_iodim64,
1088 howmany_rank: ::std::os::raw::c_int,
1089 howmany_dims: *const fftwf_iodim64,
1090 in_: *mut f32,
1091 out: *mut f32,
1092 kind: *const fftwf_r2r_kind,
1093 flags: ::std::os::raw::c_uint,
1094 ) -> fftwf_plan;
1095}
1096extern "C" {
1097 pub fn fftwf_execute_r2r(p: fftwf_plan, in_: *mut f32, out: *mut f32);
1098}
1099extern "C" {
1100 pub fn fftwf_destroy_plan(p: fftwf_plan);
1101}
1102extern "C" {
1103 pub fn fftwf_forget_wisdom();
1104}
1105extern "C" {
1106 pub fn fftwf_cleanup();
1107}
1108extern "C" {
1109 pub fn fftwf_set_timelimit(t: f64);
1110}
1111extern "C" {
1112 pub fn fftwf_plan_with_nthreads(nthreads: ::std::os::raw::c_int);
1113}
1114extern "C" {
1115 pub fn fftwf_init_threads() -> ::std::os::raw::c_int;
1116}
1117extern "C" {
1118 pub fn fftwf_cleanup_threads();
1119}
1120extern "C" {
1121 pub fn fftwf_make_planner_thread_safe();
1122}
1123extern "C" {
1124 pub fn fftwf_export_wisdom_to_filename(
1125 filename: *const ::std::os::raw::c_char,
1126 ) -> ::std::os::raw::c_int;
1127}
1128extern "C" {
1129 pub fn fftwf_export_wisdom_to_file(output_file: *mut FILE);
1130}
1131extern "C" {
1132 pub fn fftwf_export_wisdom_to_string() -> *mut ::std::os::raw::c_char;
1133}
1134extern "C" {
1135 pub fn fftwf_export_wisdom(write_char: fftwf_write_char_func, data: *mut ::core::ffi::c_void);
1136}
1137extern "C" {
1138 pub fn fftwf_import_system_wisdom() -> ::std::os::raw::c_int;
1139}
1140extern "C" {
1141 pub fn fftwf_import_wisdom_from_filename(
1142 filename: *const ::std::os::raw::c_char,
1143 ) -> ::std::os::raw::c_int;
1144}
1145extern "C" {
1146 pub fn fftwf_import_wisdom_from_file(input_file: *mut FILE) -> ::std::os::raw::c_int;
1147}
1148extern "C" {
1149 pub fn fftwf_import_wisdom_from_string(
1150 input_string: *const ::std::os::raw::c_char,
1151 ) -> ::std::os::raw::c_int;
1152}
1153extern "C" {
1154 pub fn fftwf_import_wisdom(
1155 read_char: fftwf_read_char_func,
1156 data: *mut ::core::ffi::c_void,
1157 ) -> ::std::os::raw::c_int;
1158}
1159extern "C" {
1160 pub fn fftwf_fprint_plan(p: fftwf_plan, output_file: *mut FILE);
1161}
1162extern "C" {
1163 pub fn fftwf_print_plan(p: fftwf_plan);
1164}
1165extern "C" {
1166 pub fn fftwf_sprint_plan(p: fftwf_plan) -> *mut ::std::os::raw::c_char;
1167}
1168extern "C" {
1169 pub fn fftwf_malloc(n: usize) -> *mut ::core::ffi::c_void;
1170}
1171extern "C" {
1172 pub fn fftwf_alloc_real(n: usize) -> *mut f32;
1173}
1174extern "C" {
1175 pub fn fftwf_alloc_complex(n: usize) -> *mut fftwf_complex;
1176}
1177extern "C" {
1178 pub fn fftwf_free(p: *mut ::core::ffi::c_void);
1179}
1180extern "C" {
1181 pub fn fftwf_flops(p: fftwf_plan, add: *mut f64, mul: *mut f64, fmas: *mut f64);
1182}
1183extern "C" {
1184 pub fn fftwf_estimate_cost(p: fftwf_plan) -> f64;
1185}
1186extern "C" {
1187 pub fn fftwf_cost(p: fftwf_plan) -> f64;
1188}
1189extern "C" {
1190 pub fn fftwf_alignment_of(p: *mut f32) -> ::std::os::raw::c_int;
1191}
1192#[repr(C)]
1193#[derive(Debug, Copy, Clone)]
1194pub struct fftwl_plan_s {
1195 _unused: [u8; 0],
1196}
1197pub type fftwl_plan = *mut fftwl_plan_s;
1198pub type fftwl_iodim = fftw_iodim_do_not_use_me;
1199pub type fftwl_iodim64 = fftw_iodim64_do_not_use_me;
1200pub use self::fftw_r2r_kind_do_not_use_me as fftwl_r2r_kind;
1201pub type fftwl_write_char_func = fftw_write_char_func_do_not_use_me;
1202pub type fftwl_read_char_func = fftw_read_char_func_do_not_use_me;