Blame | Last modification | View Log | RSS feed
This directory contains a test program, fftw_test, for the one- and
multi-dimensional transforms. There is also a corresponding program,
rfftw_test, for the real-complex transforms, which takes the same
command-line options as fftw_test. (See the FFTW manual for
compilation instructions.)
They take a number of command-line options that determine what to
tests. (On systems lacking a command-line, they will prompt the user
interactively for this information.) We use the following
conventions.
<n> is a size parameter, and it has the form N1xN2xN3... . For
example, 3x8 denotes a two-dimensional array with 3 rows and 8
columns. A single number N denotes a 1D transform of size N. For the
cases where it matters, the syntax xN denotes a ND-transform of rank
1. For example, x5 denotes a n-dimensional array of rank 1 with 5
elements. (This matters for real->complex transforms)
<rank> is an integer. Rank 0 denotes 1D transforms. Rank >= 1
denotes n-dimensional transforms. Again, rank 0 uses [R]FFTW, but
rank >= 1 uses [R]FFTWND.
-r <rank> Tests the forward and backward transforms of
random dimensions and sizes. Does not terminate
(press ^C when you are tired). We use the FFT
testing algorithm described in:
Funda Ergün, "Testing multivariate linear functions:
Overcoming the generator bottleneck." Proceedings of
the Twenty-Seventh Annual ACM Symposium on the Theory
of Computing, pp. 407-416 (1995).
-c <n> Checks the forward and backward transform of size <n>
-s <n> Test the speed of the transform of size <n>
Times both in-place and out-of-place transforms.
-a <rank> Like fftw_test -c <n> for all n = 1 ... infinity.
Does not terminate (press ^C when you are tired)
-p <rank> Exercises the planner to make sure there are no
memory leaks.
-m Uses the FFTW_MEASURE flag (instead of FFTW_ESTIMATE)
during correctness tests (this will slow things down
considerably).
-w <file> Tests the "wisdom" mechanism (wisdom is used
in all transforms computed...this option should
precede one of the other options above). Also,
loads wisdom from <file> and stores accumulated
wisdom in <file> (after tests are completed).
(<file> is created if it does not exist.)
-t Tests the resolution of the timer you are currently
using. This is done by measuring the time per
iteration of a simple loop--the time/iter should
converge to some value for large numbers of iterations,
and the rate of convergence can be used to infer
something about the timer resolution.
The minimum timing interval required to achieve
various levels of consistency/accuracy is outputted.
You can compare this to the FFTW_TIME_MIN setting
in fftw.h to see how appropriate it is for your
machine's clock.
-v Verbose output (should precede other options).
-h Prints help on these and other command-line flags