FFTW / fftw3

DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
GNU General Public License v2.0
2.73k stars 664 forks source link

documentation info #22

Closed rspadim closed 10 years ago

rspadim commented 10 years ago

Hi guy, we are creating a php binding of fftw3 ( https://github.com/bukka/php-fftw ), and i have some doubts about constant meaning:

define FFTW_NO_TIMELIMIT (-1.0) -> must find where use it, but probably "fftw_set_timelimit" function, that's right?

and these constants too, i don't know what it is, i think these are plan flags, but not sure what each one do:

define FFTW_CONSERVE_MEMORY (1U << 2)

/* undocumented beyond-guru flags /

define FFTW_ESTIMATE_PATIENT (1U << 7)

define FFTW_BELIEVE_PCOST (1U << 8)

define FFTW_NO_DFT_R2HC (1U << 9)

define FFTW_NO_NONTHREADED (1U << 10)

define FFTW_NO_BUFFERING (1U << 11)

define FFTW_NO_INDIRECT_OP (1U << 12)

define FFTW_ALLOW_LARGE_GENERIC (1U << 13) / NO_LARGE_GENERIC is default */

define FFTW_NO_RANK_SPLITS (1U << 14)

define FFTW_NO_VRANK_SPLITS (1U << 15)

define FFTW_NO_VRECURSE (1U << 16)

define FFTW_NO_SIMD (1U << 17)

define FFTW_NO_SLOW (1U << 18)

define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19)

define FFTW_ALLOW_PRUNING (1U << 20)

stevengj commented 10 years ago

Yes, the FFTW_NO_TIMELIMIT constant is for passing to the set_timelimit function (see the manual).

You probably don't want to export the flags that are undocumented. Most of those are mainly designed for us to use during FFTW development, for benchmarking the impact of different algorithm choices.

rspadim commented 10 years ago

nice :) thanks