Ardour  9.0-pre0-582-g084a23a80d
kissfft< T_Scalar, T_traits > Class Template Reference

#include <kissfft.hh>

Public Types

typedef T_traits traits_type
 
typedef traits_type::scalar_type scalar_type
 
typedef traits_type::cpx_type cpx_type
 

Public Member Functions

 kissfft (int nfft, bool inverse, const traits_type &traits=traits_type())
 
void transform (const cpx_type *src, cpx_type *dst)
 

Private Member Functions

void kf_work (int stage, cpx_type *Fout, const cpx_type *f, size_t fstride, size_t in_stride)
 
void C_ADD (cpx_type &c, const cpx_type &a, const cpx_type &b)
 
void C_MUL (cpx_type &c, const cpx_type &a, const cpx_type &b)
 
void C_SUB (cpx_type &c, const cpx_type &a, const cpx_type &b)
 
void C_ADDTO (cpx_type &c, const cpx_type &a)
 
void C_FIXDIV (cpx_type &, int)
 
scalar_type S_MUL (const scalar_type &a, const scalar_type &b)
 
scalar_type HALF_OF (const scalar_type &a)
 
void C_MULBYSCALAR (cpx_type &c, const scalar_type &a)
 
void kf_bfly2 (cpx_type *Fout, const size_t fstride, int m)
 
void kf_bfly4 (cpx_type *Fout, const size_t fstride, const size_t m)
 
void kf_bfly3 (cpx_type *Fout, const size_t fstride, const size_t m)
 
void kf_bfly5 (cpx_type *Fout, const size_t fstride, const size_t m)
 
void kf_bfly_generic (cpx_type *Fout, const size_t fstride, int m, int p)
 

Private Attributes

int _nfft
 
bool _inverse
 
std::vector< cpx_type_twiddles
 
std::vector< int > _stageRadix
 
std::vector< int > _stageRemainder
 
traits_type _traits
 

Detailed Description

template<typename T_Scalar, typename T_traits = kissfft_utils::traits<T_Scalar>>
class kissfft< T_Scalar, T_traits >

Definition at line 60 of file kissfft.hh.

Member Typedef Documentation

◆ cpx_type

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
typedef traits_type::cpx_type kissfft< T_Scalar, T_traits >::cpx_type

Definition at line 65 of file kissfft.hh.

◆ scalar_type

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
typedef traits_type::scalar_type kissfft< T_Scalar, T_traits >::scalar_type

Definition at line 64 of file kissfft.hh.

◆ traits_type

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
typedef T_traits kissfft< T_Scalar, T_traits >::traits_type

Definition at line 63 of file kissfft.hh.

Constructor & Destructor Documentation

◆ kissfft()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
kissfft< T_Scalar, T_traits >::kissfft ( int  nfft,
bool  inverse,
const traits_type traits = traits_type() 
)
inline

Definition at line 67 of file kissfft.hh.

Member Function Documentation

◆ C_ADD()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_ADD ( cpx_type c,
const cpx_type a,
const cpx_type b 
)
inlineprivate

Definition at line 115 of file kissfft.hh.

◆ C_ADDTO()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_ADDTO ( cpx_type c,
const cpx_type a 
)
inlineprivate

Definition at line 118 of file kissfft.hh.

◆ C_FIXDIV()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_FIXDIV ( cpx_type ,
int   
)
inlineprivate

Definition at line 119 of file kissfft.hh.

◆ C_MUL()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_MUL ( cpx_type c,
const cpx_type a,
const cpx_type b 
)
inlineprivate

Definition at line 116 of file kissfft.hh.

◆ C_MULBYSCALAR()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_MULBYSCALAR ( cpx_type c,
const scalar_type a 
)
inlineprivate

Definition at line 122 of file kissfft.hh.

◆ C_SUB()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::C_SUB ( cpx_type c,
const cpx_type a,
const cpx_type b 
)
inlineprivate

Definition at line 117 of file kissfft.hh.

◆ HALF_OF()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
scalar_type kissfft< T_Scalar, T_traits >::HALF_OF ( const scalar_type a)
inlineprivate

Definition at line 121 of file kissfft.hh.

◆ kf_bfly2()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_bfly2 ( cpx_type Fout,
const size_t  fstride,
int  m 
)
inlineprivate

Definition at line 124 of file kissfft.hh.

◆ kf_bfly3()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_bfly3 ( cpx_type Fout,
const size_t  fstride,
const size_t  m 
)
inlineprivate

Definition at line 155 of file kissfft.hh.

◆ kf_bfly4()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_bfly4 ( cpx_type Fout,
const size_t  fstride,
const size_t  m 
)
inlineprivate

Definition at line 133 of file kissfft.hh.

◆ kf_bfly5()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_bfly5 ( cpx_type Fout,
const size_t  fstride,
const size_t  m 
)
inlineprivate

Definition at line 190 of file kissfft.hh.

◆ kf_bfly_generic()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_bfly_generic ( cpx_type Fout,
const size_t  fstride,
int  m,
int  p 
)
inlineprivate

Definition at line 257 of file kissfft.hh.

◆ kf_work()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::kf_work ( int  stage,
cpx_type Fout,
const cpx_type f,
size_t  fstride,
size_t  in_stride 
)
inlineprivate

Definition at line 79 of file kissfft.hh.

◆ S_MUL()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
scalar_type kissfft< T_Scalar, T_traits >::S_MUL ( const scalar_type a,
const scalar_type b 
)
inlineprivate

Definition at line 120 of file kissfft.hh.

◆ transform()

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
void kissfft< T_Scalar, T_traits >::transform ( const cpx_type src,
cpx_type dst 
)
inline

Definition at line 73 of file kissfft.hh.

Member Data Documentation

◆ _inverse

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
bool kissfft< T_Scalar, T_traits >::_inverse
private

Definition at line 294 of file kissfft.hh.

◆ _nfft

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
int kissfft< T_Scalar, T_traits >::_nfft
private

Definition at line 293 of file kissfft.hh.

◆ _stageRadix

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
std::vector<int> kissfft< T_Scalar, T_traits >::_stageRadix
private

Definition at line 296 of file kissfft.hh.

◆ _stageRemainder

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
std::vector<int> kissfft< T_Scalar, T_traits >::_stageRemainder
private

Definition at line 297 of file kissfft.hh.

◆ _traits

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
traits_type kissfft< T_Scalar, T_traits >::_traits
private

Definition at line 298 of file kissfft.hh.

◆ _twiddles

template<typename T_Scalar , typename T_traits = kissfft_utils::traits<T_Scalar>>
std::vector<cpx_type> kissfft< T_Scalar, T_traits >::_twiddles
private

Definition at line 295 of file kissfft.hh.


The documentation for this class was generated from the following file: