source: Sophya/trunk/SophyaLib/NTools/fftmayer.h@ 3738

Last change on this file since 3738 was 717, checked in by ansari, 26 years ago

Introduction FFTMayer, debug de FFTPack - Reza 5/2/2000

File size: 2.6 KB
Line 
1#ifndef FFTMAYER_H_SEEN
2#define FFTMAYER_H_SEEN
3/*
4** FFT and FHT routines
5** Copyright 1988, 1993; Ron Mayer
6**
7** fht(fz,n);
8** Does a hartley transform of "n" points in the array "fz".
9** fft(n,real,imag)
10** Does a fourier transform of "n" points of the "real" and
11** "imag" arrays.
12** ifft(n,real,imag)
13** Does an inverse fourier transform of "n" points of the "real"
14** and "imag" arrays.
15** realfft(n,real)
16** Does a real-valued fourier transform of "n" points of the
17** "real" arrays. The real part of the transform ends
18** up in the first half of the array and the imaginary part of the
19** transform ends up in the second half of the array.
20** realifft(n,real)
21** The inverse of the realfft() routine above.
22**
23**
24** NOTE: This routine uses at least 2 patented algorithms, and may be
25** under the restrictions of a bunch of different organizations.
26** Although I wrote it completely myself; it is kind of a derivative
27** of a routine I once authored and released under the GPL, so it
28** may fall under the free software foundation's restrictions;
29** it was worked on as a Stanford Univ project, so they claim
30** some rights to it; it was further optimized at work here, so
31** I think this company claims parts of it. The patents are
32** held by R. Bracewell (the FHT algorithm) and O. Buneman (the
33** trig generator), both at Stanford Univ.
34** If it were up to me, I'd say go do whatever you want with it;
35** but it would be polite to give credit to the following people
36** if you use this anywhere:
37** Euler - probable inventor of the fourier transform.
38** Gauss - probable inventor of the FFT.
39** Hartley - probable inventor of the hartley transform.
40** Buneman - for a really cool trig generator
41** Mayer(me) - for authoring this particular version and
42** including all the optimizations in one package.
43** Thanks,
44** Ron Mayer; mayer@acuson.com
45**
46*/
47
48/* Reza 4/02/99 : Introduced double AND float version */
49#include "machdefs.h"
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55void fht_r4( r_4 *fz,int n);
56void ifft_r4(int n, r_4 *real, r_4 *imag);
57void realfft_r4(int n, r_4 *real);
58void fft_r4(int n, r_4 *real,r_4 *imag);
59void realifft_r4(int n,r_4 *real);
60
61void fht_r8( r_8 *fz,int n);
62void ifft_r8(int n, r_8 *real, r_8 *imag);
63void realfft_r8(int n, r_8 *real);
64void fft_r8(int n, r_8 *real,r_8 *imag);
65void realifft_r8(int n,r_8 *real);
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif
Note: See TracBrowser for help on using the repository browser.