35 static ::Factory<CC>& factory();
37 static CC* createDefault();
40 void setNormalization(
bool yn);
41 static float getNyqvist(
float samplespacing);
42 static float getDf(
float samplespacing,
int nrsamples);
43 static void getFrequencies(
float samplespacing,
int nrsamples,
45 bool isFast(
int sz)
const;
46 virtual int getFastSize(
int sz)
const;
50 static void pfarc(
int isign,
int n,
const float* rz,
float_complex* cz);
51 static void pfacr(
int isign,
int n,
const float_complex*,
float* rz);
52 static int npfaro(
int nmin,
int nmax);
53 static int npfao(
int nmin,
int nmax);
57 static void pfacc(
char dir,
int sz,
int step,
float_complex* signal);
65 static void pfacc(
char dir,
int sz,
int step,
int nr,
const int* starts,
67 static void pfacc(
char dir,
int sz,
int step,
int nr,
int batchstep,
82 bool run(
bool parallel)
83 {
return executeParallel( parallel ); }
89 static int getFastSize(
int sz);
112 FFTCC1D(
const FFTCC1D&);
120 void setDir(
bool forward) { forward_ = forward; }
124 static int getFastSize(
int sz);
129 bool getSizeFactors();
130 bool doFactor2()
const;
132 bool doFactor4()
const;
133 void doFactor3()
const;
134 void doFactor5()
const;
135 void doOtherFactor(
int factor,
int psz);
136 void doRotation(
int psz)
const;
138 bool setupPermutation();
#define mExpClass(module)
Definition: commondefs.h:160
Does Fourier Transforms of any size.
Definition: fourier.h:30
int size_
Definition: fourier.h:142
int * permutation1_
Definition: fourier.h:160
float * itmp_
Definition: fourier.h:156
void setSample(int smp)
step of the data from input
Definition: fourier.h:118
void setDir(bool forward)
Definition: fourier.h:120
float * rtmp_
Definition: fourier.h:155
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
float * cosv_
Definition: fourier.h:157
#define mDefaultFactoryCreatorImpl(baseclss, clss)
Definition: factory.h:286
bool forward_
Definition: fourier.h:140
#define od_int64
Definition: plftypes.h:36
char direction_
Definition: fourier.h:95
bool normalize_
Definition: fourier.h:141
int * permutation0_
Definition: fourier.h:159
Computes 1D FFT for any size of data. This function is used internally by the ND computation.
Definition: fourier.h:108
~FFTCC1D()
Definition: fourier.h:115
Definition: uistring.h:89
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
bool dopfa_
Definition: fourier.h:94
od_int64 nrIterations() const
Definition: fourier.h:84
int extsz_
Definition: fourier.h:145
Set of pointers to objects.
Definition: commontypes.h:32
bool run(bool parallel)
Definition: fourier.h:82
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:280
int sample_
Definition: fourier.h:143
float * rdata_
Definition: fourier.h:153
float_complex * data_
Definition: fourier.h:152
std::complex< float > float_complex
Definition: odcomplex.h:18
TypeSet< int > permutfactors_
Definition: fourier.h:161
Definition: convolve2d.h:27
bool normalize_
Definition: fourier.h:72
int curf_
Definition: fourier.h:146
float * sinv_
Definition: fourier.h:158
int cycleid_
Definition: fourier.h:148
int rmfid_
Definition: fourier.h:147
int higheststart_
Definition: fourier.h:96
int totalsmp_
Definition: fourier.h:144
float exp_
Definition: fourier.h:149
void setNormalization(bool yn)
Definition: fourier.h:121
ObjectSet< FFTCC1D > ffts_
Definition: fourier.h:98
bool normalize_
Definition: fourier.h:97
#define mClass(module)
Definition: commondefs.h:164
float * idata_
Definition: fourier.h:154
float sin2_
Definition: fourier.h:150
void setNormalization(bool yn)
Definition: fourier.h:87
TypeSet< int > factors_
Definition: fourier.h:162