Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
kissfft_i32 Class Reference

#include <kissfft_i32.hh>

Public Member Functions

 kissfft_i32 (const std::size_t nfft, const bool inverse, const double scale_factor=1024.0)
 
void transform (const cpx_type *FSrc, cpx_type *FDst, const std::size_t stage=0, const std::size_t fstride=1, const std::size_t in_stride=1) const
 

Private Types

using cpx_type = complex< int32_t >
 
using scalar_type = int32_t
 

Private Member Functions

void kf_bfly2 (cpx_type *const Fout, const size_t fstride, const std::size_t m) const
 
void kf_bfly3 (cpx_type *Fout, const std::size_t fstride, const std::size_t m) const
 
void kf_bfly4 (cpx_type *const Fout, const std::size_t fstride, const std::size_t m) const
 
void kf_bfly5 (cpx_type *const Fout, const std::size_t fstride, const std::size_t m) const
 
void kf_bfly_generic (cpx_type *const Fout, const size_t fstride, const std::size_t m, const std::size_t p) const
 

Private Attributes

bool _inverse
 
std::size_t _nfft
 
scalar_type _scale_factor
 
std::vector< std::size_t > _stageRadix
 
std::vector< std::size_t > _stageRemainder
 
std::vector< cpx_type_twiddles
 

Detailed Description

Definition at line 19 of file kissfft_i32.hh.

Member Typedef Documentation

◆ cpx_type

using kissfft_i32::cpx_type = complex<int32_t>
private

Definition at line 24 of file kissfft_i32.hh.

◆ scalar_type

using kissfft_i32::scalar_type = int32_t
private

Definition at line 23 of file kissfft_i32.hh.

Constructor & Destructor Documentation

◆ kissfft_i32()

kissfft_i32::kissfft_i32 ( const std::size_t  nfft,
const bool  inverse,
const double  scale_factor = 1024.0 
)
inline

Definition at line 36 of file kissfft_i32.hh.

Member Function Documentation

◆ kf_bfly2()

void kissfft_i32::kf_bfly2 ( cpx_type *const  Fout,
const size_t  fstride,
const std::size_t  m 
) const
inlineprivate

Definition at line 143 of file kissfft_i32.hh.

◆ kf_bfly3()

void kissfft_i32::kf_bfly3 ( cpx_type Fout,
const std::size_t  fstride,
const std::size_t  m 
) const
inlineprivate

Definition at line 153 of file kissfft_i32.hh.

◆ kf_bfly4()

void kissfft_i32::kf_bfly4 ( cpx_type *const  Fout,
const std::size_t  fstride,
const std::size_t  m 
) const
inlineprivate

Definition at line 186 of file kissfft_i32.hh.

◆ kf_bfly5()

void kissfft_i32::kf_bfly5 ( cpx_type *const  Fout,
const std::size_t  fstride,
const std::size_t  m 
) const
inlineprivate

Definition at line 211 of file kissfft_i32.hh.

◆ kf_bfly_generic()

void kissfft_i32::kf_bfly_generic ( cpx_type *const  Fout,
const size_t  fstride,
const std::size_t  m,
const std::size_t  p 
) const
inlineprivate

Definition at line 272 of file kissfft_i32.hh.

◆ transform()

void kissfft_i32::transform ( const cpx_type FSrc,
cpx_type FDst,
const std::size_t  stage = 0,
const std::size_t  fstride = 1,
const std::size_t  in_stride = 1 
) const
inline

Calculates the complex Discrete Fourier Transform.

The size of the passed arrays must be passed in the constructor. The sum of the squares of the absolute values in the dst array will be N times the sum of the squares of the absolute values in the src array, where N is the size of the array. In other words, the l_2 norm of the resulting array will be sqrt(N) times as big as the l_2 norm of the input array. This is also the case when the inverse flag is set in the constructor. Hence when applying the same transform twice, but with the inverse flag changed the second time, then the result will be equal to the original input times N.

Definition at line 86 of file kissfft_i32.hh.

Member Data Documentation

◆ _inverse

bool kissfft_i32::_inverse
private

Definition at line 28 of file kissfft_i32.hh.

◆ _nfft

std::size_t kissfft_i32::_nfft
private

Definition at line 27 of file kissfft_i32.hh.

◆ _scale_factor

scalar_type kissfft_i32::_scale_factor
private

Definition at line 26 of file kissfft_i32.hh.

◆ _stageRadix

std::vector<std::size_t> kissfft_i32::_stageRadix
private

Definition at line 30 of file kissfft_i32.hh.

◆ _stageRemainder

std::vector<std::size_t> kissfft_i32::_stageRemainder
private

Definition at line 31 of file kissfft_i32.hh.

◆ _twiddles

std::vector<cpx_type> kissfft_i32::_twiddles
private

Definition at line 29 of file kissfft_i32.hh.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:50