[comp.lang.fortran] Fast Fourier Transformer

vermeer@cpsc.ucalgary.ca (Willem Vermeer) (01/17/89)

Does anyone have a FFT-program available, in whatever
computerlanguage? Or does anyone have any idea where to look for one?


Thanks in advance for the help,
Willem Vermeer

Willem Vermeer, University of Calgary: vermeer@cpsc.UCalgary.CA
home: 1228 Varsity Estates Road Nw Calgary, AB, T3B 2W1 Canada

coggins@coggins.cs.unc.edu (Dr. James Coggins) (01/18/89)

In article <518@cs-spool.calgary.UUCP> vermeer@cpsc.ucalgary.ca (Willem Vermeer) writes:
>Does anyone have a FFT-program available, in whatever
>computerlanguage? Or does anyone have any idea where to look for one?
>
>
>Thanks in advance for the help,
>Willem Vermeer
>
>Willem Vermeer, University of Calgary: vermeer@cpsc.UCalgary.CA
>home: 1228 Varsity Estates Road Nw Calgary, AB, T3B 2W1 Canada

I have a C++ class definition for 1D and 2D FFTs.
The constructor for the class builds a bunch of tables that make
application of the transforms very fast.  Then there are forward
and inverse messages to apply the operations.  These messages take
images as arguments.

Some people think that a class has to be based on some data item.
They forget that algorithm is a noun.  An algorithm that is of
interest as an object of study itself can form a nice class. I call
these process encapsulations, or enzymes.  My FFT server is a prime
example, but there are many others.

---------------------------------------------------------------------
Dr. James M. Coggins          coggins@cs.unc.edu
Computer Science Department   
UNC-Chapel Hill               It has not been established whether
Chapel Hill, NC 27514-3175    intelligence is a survivable trait.
---------------------------------------------------------------------
 

echrzanowski@watmath.waterloo.edu (Edward Chrzanowski) (01/20/89)

In article <518@cs-spool.calgary.UUCP> vermeer@cpsc.ucalgary.ca (Willem Vermeer) writes:
>Does anyone have a FFT-program available, in whatever
>computerlanguage? Or does anyone have any idea where to look for one?
>
Chapter 12 (Fourier transform methods) of the book Numerical Recipes: The
Art of Scientific Computing by William Press et. al., contains a number of
different algorithms.  The book also provides fortran programs for these
algorithms (or in C if you get the sister book Numerical Recipes in C).
The book is published by Cambridge University Press and its ISBN is
0-521-30811-9.

baud@gt-eedsp.UUCP (Kurt Baudendistel) (01/20/89)

In article <6217@thorin.cs.unc.edu> coggins@coggins.UUCP (Dr. James Coggins) writes:
>I have a C++ class definition for 1D and 2D FFTs.
>The constructor for the class builds a bunch of tables that make
>application of the transforms very fast.  Then there are forward
>and inverse messages to apply the operations.  These messages take
>images as arguments.
>
>Some people think that a class has to be based on some data item.
>They forget that algorithm is a noun.  An algorithm that is of
>interest as an object of study itself can form a nice class. I call
>these process encapsulations, or enzymes.  My FFT server is a prime
>example, but there are many others.

i use a similar approach in that i define a class <T>Twiddle that defines
a set of twiddle factors to use in conjunction with an fft function.
however, i've defined a data item and a friend function that uses this
data type, thus basing the class on the data type as is the ``usual''
approach. 

i'd be interested to hear more about the definition of algorithmic classes
and how they fit into the object-oriented paradigm.  since such classes
purely functional, should we consider them more of a functional programming
technique than an object-oriented one? or are these characteristics
complementary?

-- 
Kurt Baudendistel --- GRA
Georgia Tech, School of Electrical Engineering, Atlanta, GA  30332
uucp:  ...!{allegra,hplabs,ulysses}!gatech!gt-eedsp!baud
internet: baud%gt-eedsp@gatech.edu