33 static ::Factory<CC>& factory();
35 static CC* createDefault();
38 void setNormalization(
bool yn);
39 static float getNyqvist(
float samplespacing);
40 static float getDf(
float samplespacing,
int nrsamples);
41 static void getFrequencies(
float samplespacing,
int nrsamples,
43 bool isFast(
int sz)
const;
44 virtual int getFastSize(
int sz)
const;
48 static void pfarc(
int isign,
int n,
const float* rz,
float_complex* cz);
49 static void pfacr(
int isign,
int n,
const float_complex*,
float* rz);
50 static int npfaro(
int nmin,
int nmax);
51 static int npfao(
int nmin,
int nmax);
55 static void pfacc(
char dir,
int sz,
int step,
float_complex* signal);
63 static void pfacc(
char dir,
int sz,
int step,
int nr,
const int* starts,
65 static void pfacc(
char dir,
int sz,
int step,
int nr,
int batchstep,
80 bool run(
bool parallel)
81 {
return executeParallel( parallel ); }
87 static int getFastSize(
int sz);
110 FFTCC1D(
const FFTCC1D&);
118 void setDir(
bool forward) { forward_ = forward; }
122 static int getFastSize(
int sz);
127 bool getSizeFactors();
128 bool doFactor2()
const;
130 bool doFactor4()
const;
131 void doFactor3()
const;
132 void doFactor5()
const;
133 void doOtherFactor(
int factor,
int psz);
134 void doRotation(
int psz)
const;
136 bool setupPermutation();
#define mExpClass(module)
Definition: commondefs.h:157
Does Fourier Transforms of any size.
Definition: fourier.h:28
int size_
Definition: fourier.h:140
int * permutation1_
Definition: fourier.h:158
float * itmp_
Definition: fourier.h:154
void setSample(int smp)
step of the data from input
Definition: fourier.h:116
void setDir(bool forward)
Definition: fourier.h:118
float * rtmp_
Definition: fourier.h:153
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
float * cosv_
Definition: fourier.h:155
#define mDefaultFactoryCreatorImpl(baseclss, clss)
Definition: factory.h:284
bool forward_
Definition: fourier.h:138
#define od_int64
Definition: plftypes.h:34
char direction_
Definition: fourier.h:93
bool normalize_
Definition: fourier.h:139
int * permutation0_
Definition: fourier.h:157
Computes 1D FFT for any size of data. This function is used internally by the ND computation.
Definition: fourier.h:106
~FFTCC1D()
Definition: fourier.h:113
Definition: uistring.h:88
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:64
bool dopfa_
Definition: fourier.h:92
od_int64 nrIterations() const
Definition: fourier.h:82
int extsz_
Definition: fourier.h:143
Set of pointers to objects.
Definition: commontypes.h:28
bool run(bool parallel)
Definition: fourier.h:80
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:278
int sample_
Definition: fourier.h:141
float * rdata_
Definition: fourier.h:151
float_complex * data_
Definition: fourier.h:150
std::complex< float > float_complex
Definition: odcomplex.h:16
TypeSet< int > permutfactors_
Definition: fourier.h:159
Definition: convolve2d.h:25
bool normalize_
Definition: fourier.h:70
int curf_
Definition: fourier.h:144
float * sinv_
Definition: fourier.h:156
int cycleid_
Definition: fourier.h:146
int rmfid_
Definition: fourier.h:145
int higheststart_
Definition: fourier.h:94
int totalsmp_
Definition: fourier.h:142
float exp_
Definition: fourier.h:147
void setNormalization(bool yn)
Definition: fourier.h:119
ObjectSet< FFTCC1D > ffts_
Definition: fourier.h:96
bool normalize_
Definition: fourier.h:95
#define mClass(module)
Definition: commondefs.h:161
float * idata_
Definition: fourier.h:152
float sin2_
Definition: fourier.h:148
void setNormalization(bool yn)
Definition: fourier.h:85
TypeSet< int > factors_
Definition: fourier.h:160