Some utility types and functions not directly used to calculate FFT
Types
fftw_iodim {.pure.} = object n*: cint `is`*: cint os*: cint
fftw_iodim64 {.pure.} = object n*: ptrdiff_t `is`*: ptrdiff_t os*: ptrdiff_t
fftw_plan = pointer
fftw_r2r_kind = enum FFTW_R2HC = 0, FFTW_HC2R = 1, FFTW_DHT = 2, FFTW_REDFT00 = 3, FFTW_REDFT01 = 4, FFTW_REDFT10 = 5, FFTW_REDFT11 = 6, FFTW_RODFT00 = 7, FFTW_RODFT01 = 8, FFTW_RODFT10 = 9, FFTW_RODFT11 = 10
fftw_read_char_func = proc (a2: pointer): cint {.cdecl.}
fftw_write_char_func = proc (c: char; a3: pointer) {.cdecl.}
ptrdiff_t = clong
wchar_t = cint
Vars
fftw_cc: cstring
fftw_codelet_optim: cstring
Lets
fftw_version: cstring
Consts
Fftw3Lib = "/home/runner/work/nimfftw3/nimfftw3/third_party/lib/libfftw3.so.(|3|3.6.9)"
Fftw3LibName = "libfftw3.so.(|3|3.6.9)"
Procs
proc fftw_alignment_of(p: ptr cdouble): cint {.cdecl, importc: "fftw_alignment_of", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_alloc_complex(n: csize_t): ptr fftw_complex {.cdecl, importc: "fftw_alloc_complex", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_alloc_real(n: csize_t): ptr cdouble {.cdecl, importc: "fftw_alloc_real", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_cost(p: fftw_plan): cdouble {.cdecl, importc: "fftw_cost", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_estimate_cost(p: fftw_plan): cdouble {.cdecl, importc: "fftw_estimate_cost", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_flops(p: fftw_plan; add: ptr cdouble; mul: ptr cdouble; fmas: ptr cdouble) {.cdecl, importc: "fftw_flops", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_fprint_plan(p: fftw_plan; output_file: ptr File) {.cdecl, importc: "fftw_fprint_plan", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_free(p: pointer) {.cdecl, importc: "fftw_free", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_malloc(n: csize_t): pointer {.cdecl, importc: "fftw_malloc", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_print_plan(p: fftw_plan) {.cdecl, importc: "fftw_print_plan", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc fftw_sprint_plan(p: fftw_plan): cstring {.cdecl, importc: "fftw_sprint_plan", dynlib: Fftw3Lib, ...raises: [], tags: [].}
proc getFftw3Lib(): string {.compiletime, ...raises: [], tags: [].}