Boost logo

Boost :

From: rwgk_at_[hidden]
Date: 2001-11-19 08:34:52


The documentation for an initial version of a "Fast Fourier
Toolbox" (fftbx) is available at this location:

http://cctbx.sourceforge.net/track_1_0/namespacefftbx.html

This fully functional toolbox provides 1-dimensional and
3-dimensional in-place complex-to-complex and
real-to-complex transforms. It is a pure C++ adaption of
the complex-to-complex and real-to-complex transforms of
FFTPACK Version 4.1. It has been tested with gcc 3.0.2,
Visual C++ 6, Compaq cxx 6.2, and IRIX CC 7.3.1.1.

If there is an interest, I will consider contributing the
toolbox to Boost. I have made an attempt to make the fftbx
presentable, but there is one glaring problem with the
interface:

    The in-place real-to-complex forward transform expects as
    input an array of real numbers and transforms this to an
    array of complex numbers (or vice versa for the backward
    transform). It is not yet clear how this could be handled
    in a type-safe way.

What I have in mind is a type-safe way to "switch between
two different views" of an array (initially I would like to
focus on 1-dimensional arrays). E.g.:

1. std::vector<double>
2. std::vector<std::complex<double> >

Ideally, the design would not restrict the user in the
choice of the vector type (e.g. valarrays or blitz arrays
should also work). Could this somehow be achieved? I would
be grateful for proposals, or any other comments on the
source code (see below).

Thanks,
        Ralf

The fftbx source code is available at:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cctbx/cctbx/cctbx/

Switch to the branch "track_1_0", then move to cctbx/fftbx (header
files) or fftbx (Python bindings).


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk