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