Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

4.1 Overview

Three fast Fourier transform (FFT) servers are included in the Math.h++ class library:

In addition, a fast sine/cosine transform server is included:

The only restriction on the length of a vector that can be transformed is that a real RWMathVec<double> must have an even number of points. In particular, vector lengths need not be a power of 2, although the transform is more efficient if they are1.

At any given moment, a server is configured to transform a vector of a specified length. The appropriate weights, which are actually the roots of one of the prime factors, are stored internally. This length can be set:

Because reconfiguring for a new vector length is a relatively expensive process, if more than one vector length must be transformed within a program, it is better to build several servers rather than to keep reconfiguring one. This means it is possible to transform efficiently and conveniently more than one vector length within a stretch of code, something that is difficult to do with conventional Fortran-based FFT functions.

See the Class Reference for a description of the exact transforms that are calculated.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.