00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined (octave_oct_fftw_h)
00022 #define octave_oct_fftw_h 1
00023
00024 #include <cstddef>
00025 #include <fftw3.h>
00026
00027 #include "oct-cmplx.h"
00028 #include "dim-vector.h"
00029
00030 class
00031 octave_fftw
00032 {
00033 public:
00034 static int fft (const double *in, Complex *out, size_t npts,
00035 size_t nsamples = 1, int stride = 1, int dist = -1);
00036 static int fft (const Complex *in, Complex *out, size_t npts,
00037 size_t nsamples = 1, int stride = 1, int dist = -1);
00038 static int ifft (const Complex *in, Complex *out, size_t npts,
00039 size_t nsamples = 1, int stride = 1, int dist = -1);
00040
00041 static int fftNd (const double*, Complex*, const int, const dim_vector &);
00042 static int fftNd (const Complex*, Complex*, const int,
00043 const dim_vector &);
00044 static int ifftNd (const Complex*, Complex*, const int,
00045 const dim_vector &);
00046
00047 private:
00048 octave_fftw ();
00049 octave_fftw (const octave_fftw&);
00050 octave_fftw& operator = (const octave_fftw&);
00051 };
00052
00053 #endif
00054
00055
00056
00057
00058
00059
00060