Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: FFTW 3.3.5: Planner Flags Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: Chris@42:
Chris@42:

Chris@42: Next: , Previous: , Up: Basic Interface   [Contents][Index]

Chris@42:
Chris@42:
Chris@42: Chris@42:

4.3.2 Planner Flags

Chris@42: Chris@42:

All of the planner routines in FFTW accept an integer flags Chris@42: argument, which is a bitwise OR (‘|’) of zero or more of the flag Chris@42: constants defined below. These flags control the rigor (and time) of Chris@42: the planning process, and can also impose (or lift) restrictions on the Chris@42: type of transform algorithm that is employed. Chris@42:

Chris@42:

Important: the planner overwrites the input array during Chris@42: planning unless a saved plan (see Wisdom) is available for that Chris@42: problem, so you should initialize your input data after creating the Chris@42: plan. The only exceptions to this are the FFTW_ESTIMATE and Chris@42: FFTW_WISDOM_ONLY flags, as mentioned below. Chris@42:

Chris@42:

In all cases, if wisdom is available for the given problem that was Chris@42: created with equal-or-greater planning rigor, then the more rigorous Chris@42: wisdom is used. For example, in FFTW_ESTIMATE mode any available Chris@42: wisdom is used, whereas in FFTW_PATIENT mode only wisdom created Chris@42: in patient or exhaustive mode can be used. See Words of Wisdom-Saving Plans. Chris@42:

Chris@42: Chris@42:

Planning-rigor flags

Chris@42: Chris@42: Chris@42: Chris@42:

Algorithm-restriction flags

Chris@42: Chris@42: Chris@42: Chris@42:

Limiting planning time

Chris@42: Chris@42:
Chris@42:
extern void fftw_set_timelimit(double seconds);
Chris@42: 
Chris@42: Chris@42: Chris@42:

This function instructs FFTW to spend at most seconds seconds Chris@42: (approximately) in the planner. If seconds == Chris@42: FFTW_NO_TIMELIMIT (the default value, which is negative), then Chris@42: planning time is unbounded. Otherwise, FFTW plans with a Chris@42: progressively wider range of algorithms until the the given time limit Chris@42: is reached or the given range of algorithms is explored, returning the Chris@42: best available plan. Chris@42: Chris@42:

Chris@42: Chris@42:

For example, specifying FFTW_PATIENT first plans in Chris@42: FFTW_ESTIMATE mode, then in FFTW_MEASURE mode, then Chris@42: finally (time permitting) in FFTW_PATIENT. If Chris@42: FFTW_EXHAUSTIVE is specified instead, the planner will further Chris@42: progress to FFTW_EXHAUSTIVE mode. Chris@42:

Chris@42:

Note that the seconds argument specifies only a rough limit; in Chris@42: practice, the planner may use somewhat more time if the time limit is Chris@42: reached when the planner is in the middle of an operation that cannot Chris@42: be interrupted. At the very least, the planner will complete planning Chris@42: in FFTW_ESTIMATE mode (which is thus equivalent to a time limit Chris@42: of 0). Chris@42:

Chris@42: Chris@42:
Chris@42:
Chris@42:

Chris@42: Next: , Previous: , Up: Basic Interface   [Contents][Index]

Chris@42:
Chris@42: Chris@42: Chris@42: Chris@42: Chris@42: