]> gitweb.factorcode.org Git - factor.git/blob - extra/fftw/ffi/ffi.factor
fftw: adding some bindings to fftw3.
[factor.git] / extra / fftw / ffi / ffi.factor
1 ! Copyright (c) 2014 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license.
3
4 USING: alien alien.c-types alien.destructors alien.libraries
5 alien.libraries.finder alien.syntax kernel ;
6
7 IN: fftw.ffi
8
9 LIBRARY: fftw3
10
11 << "fftw3" dup find-library cdecl add-library >>
12
13 TYPEDEF: double[2] fftw_complex
14
15 TYPEDEF: void* fftw_plan
16
17 CONSTANT: FFTW_FORWARD -1
18 CONSTANT: FFTW_BACKWARD 1
19
20 CONSTANT: FFTW_MEASURE 0
21 CONSTANT: FFTW_DESTROY_INPUT 1
22 CONSTANT: FFTW_UNALIGNED 2
23 CONSTANT: FFTW_CONSERVE_MEMORY 4
24 CONSTANT: FFTW_EXHAUSTIVE 8
25 CONSTANT: FFTW_PRESERVE_INPUT 16
26 CONSTANT: FFTW_PATIENT 32
27 CONSTANT: FFTW_ESTIMATE 64
28
29 FUNCTION: void* fftw_malloc ( size_t n ) ;
30
31 FUNCTION: fftw_plan fftw_plan_dft_1d ( int n, void* in, void* out, int sign, int flags ) ;
32
33 FUNCTION: void fftw_destroy_plan ( fftw_plan ) ;
34
35 FUNCTION: void fftw_execute ( fftw_plan ) ;
36
37 FUNCTION: void fftw_free ( void* ) ;
38
39 DESTRUCTOR: fftw_free