        FFTW++: Fast Fourier Transform C++ Header Class for FFTW3 Library
            Copyright (C) 2004 John C. Bowman, University of Alberta

FFTW++ is a C++ header class for Version 3 of the highly optimized FFTW
(http://www.fftw.org) Fourier Transform library. It provides a simple
interface for 1d, 2d, and 3d complex-to-complex, real-to-complex, and
complex-to-real Fast Fourier Transforms that takes care of the technical
aspects of memory allocation, alignment, planning, and wisdom. Wrappers for
multiple 1d transforms are also provided. As with the FFTW3 library itself,
both in-place and out-of-place transforms of arbitrary size are supported.

Convenient optional shift routines that place the Fourier origin in the logical
center of the domain are provided for 2d and 3d complex-to-real convolution
applications; see fftw++.h for details.

FFTW++ can also exploit the high-performance Array class available at
http://www.math.ualberta.ca/~bowman/Array (version 1.33 or higher). The
arrays in that package do memory bounds checking in debugging mode, but can
be optimized by specifying the -DNDEBUG compilation option (1d arrays
optimize completely to pointer operations).

Detailed documentation is provided before each class in the fftw++.h header
file. The included examples illustrate how easy it is to use FFTW in C++
with the FFTW++ header class. Use of the Array class is optional, but
encouraged. If for some reason, the Array class is not used, memory should
be allocated with FFTWComplex (or FFTWdouble) to ensure that the data is
aligned to sizeof(Complex).

1D examples using FFTWComplex allocator:

example0.cc
example0r.cc

1D examples using Array class:

example1.cc
example1r.cc

2D examples using Array class:

example2.cc
example2r.cc

3D examples using Array class:

example3.cc
example3r.cc
