27 #ifndef GFFTWAVETABLE_HPP
28 #define GFFTWAVETABLE_HPP
56 const std::complex<double>&
operator[](
const int& index)
const;
65 int factor(
const int& index)
const;
79 std::vector<std::complex<double> >
m_trig;
91 return (
"GFftWavetable");
148 return ((
int)
m_trig.size());
void free_members(void)
Delete class members.
void clear(void)
Clear lookup table for Fast Fourier Transform.
Definition of interface for all GammaLib classes.
Lookup table class for Fast Fourier Transformation.
std::vector< int > m_twiddle
Start index of factors.
GFftWavetable * clone(void) const
Clone lookup table for Fast Fourier Transform.
std::complex< double > & operator[](const int &index)
Return reference to trigonometric coefficient.
int factor(const int &index) const
Return factorisation factor.
void copy_members(const GFftWavetable &wavetable)
Copy class members.
std::vector< std::complex< double > > m_trig
Trigonometric coefficients.
int factors(void) const
Return number of factorisation factors.
Interface class for all GammaLib classes.
std::string classname(void) const
Return class name.
const int & index(const int &factor) const
Return start index for a given factor.
void init_members(void)
Initialise class members.
GFftWavetable & operator=(const GFftWavetable &wavetable)
Assignment operator.
virtual ~GFftWavetable(void)
Destructor.
std::string print(const GChatter &chatter=NORMAL) const
Print lookup table for Fast Fourier Transform information.
void set_factors(const int &n)
Compute FFT factorisation.
int size(void) const
Return number of trigonometric coefficients.
void set_members(const int &n)
Set wavetable.
GFftWavetable(void)
Void constructor.
std::vector< int > m_factors
Wavetable factors.