README
1This directory contains a test program, fftw_test, for the one- and
2multi-dimensional transforms. There is also a corresponding program,
3rfftw_test, for the real-complex transforms, which takes the same
4command-line options as fftw_test. (See the FFTW manual for
5compilation instructions.)
6
7They take a number of command-line options that determine what to
8tests. (On systems lacking a command-line, they will prompt the user
9interactively for this information.) We use the following
10conventions.
11
12 <n> is a size parameter, and it has the form N1xN2xN3... . For
13example, 3x8 denotes a two-dimensional array with 3 rows and 8
14columns. A single number N denotes a 1D transform of size N. For the
15cases where it matters, the syntax xN denotes a ND-transform of rank
161. For example, x5 denotes a n-dimensional array of rank 1 with 5
17elements. (This matters for real->complex transforms)
18
19 <rank> is an integer. Rank 0 denotes 1D transforms. Rank >= 1
20denotes n-dimensional transforms. Again, rank 0 uses [R]FFTW, but
21rank >= 1 uses [R]FFTWND.
22
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:
27
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).
32
33 -c <n> Checks the forward and backward transform of size <n>
34
35
36 -s <n> Test the speed of the transform of size <n>
37 Times both in-place and out-of-place transforms.
38
39 -a <rank> Like fftw_test -c <n> for all n = 1 ... infinity.
40 Does not terminate (press ^C when you are tired)
41
42 -p <rank> Exercises the planner to make sure there are no
43 memory leaks.
44
45 -m Uses the FFTW_MEASURE flag (instead of FFTW_ESTIMATE)
46 during correctness tests (this will slow things down
47 considerably).
48
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.)
55
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.
62
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
67 machine's clock.
68
69 -v Verbose output (should precede other options).
70
71 -h Prints help on these and other command-line flags
72