Rosetta
Classes | Typedefs | Functions
numeric::fourier Namespace Reference

Classes

class  kiss_fft_state
 
class  kiss_dct_state
 
class  kiss_fftsplit_state
 
class  kiss_fftr_state
 
class  kiss_fftnd_state
 
class  kiss_fftndr_state
 
class  SO3coeffs
 
class  SHT
 

Typedefs

typedef std::complex< kiss_fft_scalarkiss_fft_cpx
 
typedef class kiss_fft_statekiss_fft_cfg
 
typedef class kiss_fftsplit_statekiss_fftsplit_cfg
 
typedef class kiss_dct_statekiss_dct_cfg
 
typedef class kiss_fftnd_statekiss_fftnd_cfg
 
typedef class kiss_fftr_statekiss_fftr_cfg
 
typedef class kiss_fftndr_statekiss_fftndr_cfg
 

Functions

void fft (ObjexxFCL::FArray1D< std::complex< double > > &X, ObjexxFCL::FArray1D< std::complex< double > > &fX)
 1D fft c->c double More...
 
void ifft (ObjexxFCL::FArray1D< std::complex< double > > &fX, ObjexxFCL::FArray1D< std::complex< double > > &X)
 1D inverse fft c->c double More...
 
void fft (ObjexxFCL::FArray1D< double > &X, ObjexxFCL::FArray1D< std::complex< double > > &fX)
 1D fft r->c double More...
 
void ifft (ObjexxFCL::FArray1D< std::complex< double > > &fX, ObjexxFCL::FArray1D< double > &X)
 1D inverse ifft c->r double More...
 
void fft (ObjexxFCL::FArray1D< float > &X, ObjexxFCL::FArray1D< std::complex< double > > &fX)
 1D fft r->c float .. wraps double version More...
 
void ifft (ObjexxFCL::FArray1D< std::complex< double > > &fX, ObjexxFCL::FArray1D< float > &X)
 1D inverse ifft c->r float ... wraps double version More...
 
void fft2 (ObjexxFCL::FArray2D< std::complex< double > > &X, ObjexxFCL::FArray2D< std::complex< double > > &fX)
 2D fft c->c double More...
 
void ifft2 (ObjexxFCL::FArray2D< std::complex< double > > &fX, ObjexxFCL::FArray2D< std::complex< double > > &X)
 2D inverse fft c->c double More...
 
void fft2 (ObjexxFCL::FArray2D< double > &X, ObjexxFCL::FArray2D< std::complex< double > > &fX)
 2D fft r->c double More...
 
void ifft2 (ObjexxFCL::FArray2D< std::complex< double > > &fX, ObjexxFCL::FArray2D< double > &X)
 2D inverse ifft c->r double More...
 
void fft2 (ObjexxFCL::FArray2D< float > &X, ObjexxFCL::FArray2D< std::complex< double > > &fX)
 2D fft r->c float More...
 
void ifft2 (ObjexxFCL::FArray2D< std::complex< double > > &fX, ObjexxFCL::FArray2D< float > &X)
 2D inverse ifft c->r float More...
 
void fft3 (ObjexxFCL::FArray3D< std::complex< double > > const &X, ObjexxFCL::FArray3D< std::complex< double > > &fX)
 3D fft c->c double More...
 
void ifft3 (ObjexxFCL::FArray3D< std::complex< double > > const &fX, ObjexxFCL::FArray3D< std::complex< double > > &X)
 3D inverse fft c->c double More...
 
void fft3_dynamic (ObjexxFCL::FArray3D< std::complex< double > > &X, ObjexxFCL::FArray3D< std::complex< double > > &fX)
 3D fft c->c double with no static More...
 
void ifft3_dynamic (ObjexxFCL::FArray3D< std::complex< double > > &fX, ObjexxFCL::FArray3D< std::complex< double > > &X)
 3D inverse fft c->c doublewith no static More...
 
void fft3 (ObjexxFCL::FArray3D< double > const &X, ObjexxFCL::FArray3D< std::complex< double > > &fX)
 3D fft r->c double More...
 
void ifft3 (ObjexxFCL::FArray3D< std::complex< double > > const &fX, ObjexxFCL::FArray3D< double > &X)
 3D inverse ifft c->r double More...
 
void fft3 (ObjexxFCL::FArray3D< float > const &X, ObjexxFCL::FArray3D< std::complex< double > > &fX)
 3D fft r->c float More...
 
void ifft3 (ObjexxFCL::FArray3D< std::complex< double > > const &fX, ObjexxFCL::FArray3D< float > &X)
 3D inverse ifft c->r float More...
 
kiss_fft_cpxget_scratch_buff (size_t nbuf)
 
kiss_fft_cpxget_tmp_buff (size_t nbuf)
 
void kf_bfly2 (kiss_fft_cpx *Fout, const size_t fstride, kiss_fft_cfg st, int m)
 
void kf_bfly4 (kiss_fft_cpx *Fout, const size_t fstride, kiss_fft_cfg st, const size_t m)
 
void kf_bfly3 (kiss_fft_cpx *Fout, const size_t fstride, kiss_fft_cfg st, size_t m)
 
void kf_bfly5 (kiss_fft_cpx *Fout, const size_t fstride, kiss_fft_cfg st, int m)
 
void kf_bfly_generic (kiss_fft_cpx *Fout, const size_t fstride, kiss_fft_cfg st, int m, int p)
 
void kf_work (kiss_fft_cpx *Fout, const kiss_fft_cpx *f, const size_t fstride, int in_stride, int *factors, kiss_fft_cfg st)
 
void kiss_fft_stride (kiss_fft_cfg st, const kiss_fft_cpx *fin, kiss_fft_cpx *fout, int in_stride)
 
void kiss_fft (kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
 
void kiss_fft_split (kiss_fftsplit_cfg st, const kiss_fft_scalar *rin, const kiss_fft_scalar *iin, kiss_fft_scalar *rout, kiss_fft_scalar *iout, int fin_stride, int fout_stride)
 
void kiss_fft_cleanup (void)
 
int kiss_fft_next_fast_size (int n)
 
void kiss_fftr (kiss_fftr_cfg st, const kiss_fft_scalar *timedata, kiss_fft_cpx *freqdata)
 real fft More...
 
void kiss_fftri (kiss_fftr_cfg st, const kiss_fft_cpx *freqdata, kiss_fft_scalar *timedata)
 
void kiss_dct (kiss_dct_cfg st, const kiss_fft_scalar *timedata, kiss_fft_scalar *freqdata)
 dct-II More...
 
void kiss_idct (kiss_dct_cfg st, const kiss_fft_scalar *freqdata, kiss_fft_scalar *timedata)
 idct-II (dct-iii) More...
 
void kiss_fftnd (kiss_fftnd_cfg st, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
 multidim fft More...
 
void kiss_fftndr (kiss_fftndr_cfg st, const kiss_fft_scalar *timedata, kiss_fft_cpx *freqdata)
 
void kiss_fftndri (kiss_fftndr_cfg st, const kiss_fft_cpx *freqdata, kiss_fft_scalar *timedata)
 
void kf_cexp (kiss_fft_cpx &x, kiss_fft_scalar phase)
 
int kiss_fftr_next_fast_size_real (int n)
 
void kf_factor (int n, int *facbuf)
 
template<class T >
const Tlocal_max (const T &a, const T &b)
 
void transpose_so3 (ObjexxFCL::FArray3D< std::complex< double > > &arrayIn, ObjexxFCL::FArray3D< std::complex< double > > &arrayOut, int m, int n)
 

Typedef Documentation

◆ kiss_dct_cfg

◆ kiss_fft_cfg

◆ kiss_fft_cpx

◆ kiss_fftnd_cfg

◆ kiss_fftndr_cfg

◆ kiss_fftr_cfg

◆ kiss_fftsplit_cfg

Function Documentation

◆ fft() [1/3]

void numeric::fourier::fft ( ObjexxFCL::FArray1D< double > &  X,
ObjexxFCL::FArray1D< std::complex< double > > &  fX 
)

1D fft r->c double

References ObjexxFCL::FArray1D< T >::dimension(), fft(), and create_a3b_hbs::i.

◆ fft() [2/3]

void numeric::fourier::fft ( ObjexxFCL::FArray1D< float > &  X,
ObjexxFCL::FArray1D< std::complex< double > > &  fX 
)

1D fft r->c float .. wraps double version

1D fft r->c float

References ObjexxFCL::FArray1D< T >::dimension(), fft(), and create_a3b_hbs::i.

◆ fft() [3/3]

void numeric::fourier::fft ( ObjexxFCL::FArray1D< std::complex< double > > &  X,
ObjexxFCL::FArray1D< std::complex< double > > &  fX 
)

1D fft c->c double

References kiss_fft(), and numeric::fourier::kiss_fft_state::resize().

Referenced by fft().

◆ fft2() [1/3]

void numeric::fourier::fft2 ( ObjexxFCL::FArray2D< double > &  X,
ObjexxFCL::FArray2D< std::complex< double > > &  fX 
)

2D fft r->c double

References ObjexxFCL::FArray2D< T >::dimension(), fft2(), and create_a3b_hbs::i.

◆ fft2() [2/3]

void numeric::fourier::fft2 ( ObjexxFCL::FArray2D< float > &  X,
ObjexxFCL::FArray2D< std::complex< double > > &  fX 
)

2D fft r->c float

References ObjexxFCL::FArray2D< T >::dimension(), fft2(), and create_a3b_hbs::i.

◆ fft2() [3/3]

void numeric::fourier::fft2 ( ObjexxFCL::FArray2D< std::complex< double > > &  X,
ObjexxFCL::FArray2D< std::complex< double > > &  fX 
)

◆ fft3() [1/3]

void numeric::fourier::fft3 ( ObjexxFCL::FArray3D< double > const &  X,
ObjexxFCL::FArray3D< std::complex< double > > &  fX 
)

3D fft r->c double

References ObjexxFCL::FArray3D< T >::dimension(), fft3(), and create_a3b_hbs::i.

◆ fft3() [2/3]

void numeric::fourier::fft3 ( ObjexxFCL::FArray3D< float > const &  X,
ObjexxFCL::FArray3D< std::complex< double > > &  fX 
)

3D fft r->c float

References ObjexxFCL::FArray3D< T >::dimension(), fft3(), and create_a3b_hbs::i.

◆ fft3() [3/3]

void numeric::fourier::fft3 ( ObjexxFCL::FArray3D< std::complex< double > > const &  X,
ObjexxFCL::FArray3D< std::complex< double > > &  fX 
)

3D fft c->c double

References kiss_fftnd(), and numeric::fourier::kiss_fftnd_state::resize().

Referenced by densityTools(), and fft3().

◆ fft3_dynamic()

void numeric::fourier::fft3_dynamic ( ObjexxFCL::FArray3D< std::complex< double > > &  X,
ObjexxFCL::FArray3D< std::complex< double > > &  fX 
)

3D fft c->c double with no static

References kiss_fftnd(), and numeric::fourier::kiss_fftnd_state::resize().

◆ get_scratch_buff()

kiss_fft_cpx* numeric::fourier::get_scratch_buff ( size_t  nbuf)

◆ get_tmp_buff()

kiss_fft_cpx* numeric::fourier::get_tmp_buff ( size_t  nbuf)

◆ ifft() [1/3]

void numeric::fourier::ifft ( ObjexxFCL::FArray1D< std::complex< double > > &  fX,
ObjexxFCL::FArray1D< double > &  X 
)

1D inverse ifft c->r double

References create_a3b_hbs::i, and ifft().

◆ ifft() [2/3]

void numeric::fourier::ifft ( ObjexxFCL::FArray1D< std::complex< double > > &  fX,
ObjexxFCL::FArray1D< float > &  X 
)

1D inverse ifft c->r float ... wraps double version

1D inverse ifft c->r float

References create_a3b_hbs::i, and ifft().

◆ ifft() [3/3]

void numeric::fourier::ifft ( ObjexxFCL::FArray1D< std::complex< double > > &  fX,
ObjexxFCL::FArray1D< std::complex< double > > &  X 
)

1D inverse fft c->c double

References create_a3b_hbs::i, kiss_fft(), and numeric::fourier::kiss_fft_state::resize().

Referenced by ifft().

◆ ifft2() [1/3]

void numeric::fourier::ifft2 ( ObjexxFCL::FArray2D< std::complex< double > > &  fX,
ObjexxFCL::FArray2D< double > &  X 
)

2D inverse ifft c->r double

References create_a3b_hbs::i, and ifft2().

◆ ifft2() [2/3]

void numeric::fourier::ifft2 ( ObjexxFCL::FArray2D< std::complex< double > > &  fX,
ObjexxFCL::FArray2D< float > &  X 
)

2D inverse ifft c->r float

References create_a3b_hbs::i, and ifft2().

◆ ifft2() [3/3]

void numeric::fourier::ifft2 ( ObjexxFCL::FArray2D< std::complex< double > > &  fX,
ObjexxFCL::FArray2D< std::complex< double > > &  X 
)

◆ ifft3() [1/3]

void numeric::fourier::ifft3 ( ObjexxFCL::FArray3D< std::complex< double > > const &  fX,
ObjexxFCL::FArray3D< double > &  X 
)

3D inverse ifft c->r double

References create_a3b_hbs::i, and ifft3().

◆ ifft3() [2/3]

void numeric::fourier::ifft3 ( ObjexxFCL::FArray3D< std::complex< double > > const &  fX,
ObjexxFCL::FArray3D< float > &  X 
)

3D inverse ifft c->r float

References create_a3b_hbs::i, and ifft3().

◆ ifft3() [3/3]

void numeric::fourier::ifft3 ( ObjexxFCL::FArray3D< std::complex< double > > const &  fX,
ObjexxFCL::FArray3D< std::complex< double > > &  X 
)

3D inverse fft c->c double

References create_a3b_hbs::i, kiss_fftnd(), and numeric::fourier::kiss_fftnd_state::resize().

Referenced by ifft3().

◆ ifft3_dynamic()

void numeric::fourier::ifft3_dynamic ( ObjexxFCL::FArray3D< std::complex< double > > &  fX,
ObjexxFCL::FArray3D< std::complex< double > > &  X 
)

3D inverse fft c->c doublewith no static

3D inverse fft c->c double with no static

References create_a3b_hbs::i, kiss_fftnd(), and numeric::fourier::kiss_fftnd_state::resize().

◆ kf_bfly2()

void numeric::fourier::kf_bfly2 ( kiss_fft_cpx Fout,
const size_t  fstride,
kiss_fft_cfg  st,
int  m 
)

◆ kf_bfly3()

void numeric::fourier::kf_bfly3 ( kiss_fft_cpx Fout,
const size_t  fstride,
kiss_fft_cfg  st,
size_t  m 
)

◆ kf_bfly4()

void numeric::fourier::kf_bfly4 ( kiss_fft_cpx Fout,
const size_t  fstride,
kiss_fft_cfg  st,
const size_t  m 
)

◆ kf_bfly5()

void numeric::fourier::kf_bfly5 ( kiss_fft_cpx Fout,
const size_t  fstride,
kiss_fft_cfg  st,
int  m 
)

◆ kf_bfly_generic()

void numeric::fourier::kf_bfly_generic ( kiss_fft_cpx Fout,
const size_t  fstride,
kiss_fft_cfg  st,
int  m,
int  p 
)

◆ kf_cexp()

void numeric::fourier::kf_cexp ( kiss_fft_cpx x,
kiss_fft_scalar  phase 
)
inline

◆ kf_factor()

void numeric::fourier::kf_factor ( int  n,
int *  facbuf 
)

◆ kf_work()

void numeric::fourier::kf_work ( kiss_fft_cpx Fout,
const kiss_fft_cpx f,
const size_t  fstride,
int  in_stride,
int *  factors,
kiss_fft_cfg  st 
)

◆ kiss_dct()

void numeric::fourier::kiss_dct ( kiss_dct_cfg  st,
const kiss_fft_scalar timedata,
kiss_fft_scalar freqdata 
)

◆ kiss_fft()

void numeric::fourier::kiss_fft ( kiss_fft_cfg  cfg,
const kiss_fft_cpx fin,
kiss_fft_cpx fout 
)

◆ kiss_fft_cleanup()

void numeric::fourier::kiss_fft_cleanup ( void  )

◆ kiss_fft_next_fast_size()

int numeric::fourier::kiss_fft_next_fast_size ( int  n)

◆ kiss_fft_split()

void numeric::fourier::kiss_fft_split ( kiss_fftsplit_cfg  st,
const kiss_fft_scalar rin,
const kiss_fft_scalar iin,
kiss_fft_scalar rout,
kiss_fft_scalar iout,
int  fin_stride,
int  fout_stride 
)

◆ kiss_fft_stride()

void numeric::fourier::kiss_fft_stride ( kiss_fft_cfg  st,
const kiss_fft_cpx fin,
kiss_fft_cpx fout,
int  in_stride 
)

◆ kiss_fftnd()

void numeric::fourier::kiss_fftnd ( kiss_fftnd_cfg  st,
const kiss_fft_cpx fin,
kiss_fft_cpx fout 
)

◆ kiss_fftndr()

void numeric::fourier::kiss_fftndr ( kiss_fftndr_cfg  st,
const kiss_fft_scalar timedata,
kiss_fft_cpx freqdata 
)

References kiss_fftnd(), kiss_fftr(), and max().

◆ kiss_fftndri()

void numeric::fourier::kiss_fftndri ( kiss_fftndr_cfg  st,
const kiss_fft_cpx freqdata,
kiss_fft_scalar timedata 
)

References kiss_fftnd(), kiss_fftri(), and max().

◆ kiss_fftr()

void numeric::fourier::kiss_fftr ( kiss_fftr_cfg  st,
const kiss_fft_scalar timedata,
kiss_fft_cpx freqdata 
)

◆ kiss_fftr_next_fast_size_real()

int numeric::fourier::kiss_fftr_next_fast_size_real ( int  n)
inline

◆ kiss_fftri()

void numeric::fourier::kiss_fftri ( kiss_fftr_cfg  st,
const kiss_fft_cpx freqdata,
kiss_fft_scalar timedata 
)

◆ kiss_idct()

void numeric::fourier::kiss_idct ( kiss_dct_cfg  st,
const kiss_fft_scalar freqdata,
kiss_fft_scalar timedata 
)

◆ local_max()

template<class T >
const T& numeric::fourier::local_max ( const T a,
const T b 
)

◆ transpose_so3()

void numeric::fourier::transpose_so3 ( ObjexxFCL::FArray3D< std::complex< double > > &  arrayIn,
ObjexxFCL::FArray3D< std::complex< double > > &  arrayOut,
int  m,
int  n 
)