ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
POCKETFFT_NAMESPACE::detail::cfftp< T0 > Class Template Reference

#include <pocketfft_hdronly.h>

Detailed Description

template<typename T0>
class POCKETFFT_NAMESPACE::detail::cfftp< T0 >

Definition at line 1015 of file pocketfft_hdronly.h.

+ Collaboration diagram for POCKETFFT_NAMESPACE::detail::cfftp< T0 >:

Classes

struct  fctdata
 

Public Member Functions

POCKETFFT_NOINLINE cfftp (vcl_size_t length_)
 
template<typename T>
void exec (T c[], T0 fct, bool fwd) const
 

Private Member Functions

void add_factor (vcl_size_t factor)
 
void comp_twiddle ()
 
POCKETFFT_NOINLINE void factorize ()
 
template<bool fwd, typename T>
void pass11 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass2 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass3 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass4 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass5 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass7 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass8 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa) const
 
template<bool fwd, typename T>
void pass_all (T c[], T0 fct) const
 
template<bool fwd, typename T>
void passg (vcl_size_t ido, vcl_size_t ip, vcl_size_t l1, T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const cmplx< T0 > *POCKETFFT_RESTRICT wa, const cmplx< T0 > *POCKETFFT_RESTRICT csarr) const
 
template<bool fwd, typename T>
void ROTX135 (T &a) const
 
template<bool fwd, typename T>
void ROTX45 (T &a) const
 
vcl_size_t twsize () const
 

Private Attributes

std::vector< fctdatafact
 
vcl_size_t length
 
arr< cmplx< T0 > > mem
 

Constructor & Destructor Documentation

◆ cfftp()

template<typename T0>
POCKETFFT_NOINLINE POCKETFFT_NAMESPACE::detail::cfftp< T0 >::cfftp ( vcl_size_t length_)
inlineexplicit

Definition at line 1726 of file pocketfft_hdronly.h.

References comp_twiddle(), factorize(), length, mem, POCKETFFT_NOINLINE, and twsize().

Member Function Documentation

◆ add_factor()

template<typename T0>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::add_factor ( vcl_size_t factor)
inlineprivate

Definition at line 1028 of file pocketfft_hdronly.h.

References fact.

Referenced by factorize().

◆ comp_twiddle()

template<typename T0>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::comp_twiddle ( )
inlineprivate

Definition at line 1701 of file pocketfft_hdronly.h.

References fact, length, and mem.

Referenced by cfftp().

◆ exec()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::exec ( T c[],
T0 fct,
bool fwd ) const
inline

Definition at line 1660 of file pocketfft_hdronly.h.

References pass_all().

◆ factorize()

template<typename T0>
POCKETFFT_NOINLINE void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::factorize ( )
inlineprivate

Definition at line 1664 of file pocketfft_hdronly.h.

References add_factor(), fact, length, and POCKETFFT_NOINLINE.

Referenced by cfftp().

◆ pass11()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass11 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ pass2()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass2 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 1031 of file pocketfft_hdronly.h.

References POCKETFFT_RESTRICT, and POCKETFFT_NAMESPACE::detail::special_mul().

Referenced by pass_all().

◆ pass3()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass3 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ pass4()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass4 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ pass5()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass5 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ pass7()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass7 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 1262 of file pocketfft_hdronly.h.

References POCKETFFT_PARTSTEP7, POCKETFFT_PARTSTEP7a, POCKETFFT_PREP7, and POCKETFFT_RESTRICT.

Referenced by pass_all().

◆ pass8()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass8 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ pass_all()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass_all ( T c[],
T0 fct ) const
inlineprivate

◆ passg()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::passg ( vcl_size_t ido,
vcl_size_t ip,
vcl_size_t l1,
T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const cmplx< T0 > *POCKETFFT_RESTRICT wa,
const cmplx< T0 > *POCKETFFT_RESTRICT csarr ) const
inlineprivate

◆ ROTX135()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::ROTX135 ( T & a) const
inlineprivate

Definition at line 1320 of file pocketfft_hdronly.h.

Referenced by pass8().

◆ ROTX45()

template<typename T0>
template<bool fwd, typename T>
void POCKETFFT_NAMESPACE::detail::cfftp< T0 >::ROTX45 ( T & a) const
inlineprivate

Definition at line 1312 of file pocketfft_hdronly.h.

Referenced by pass8().

◆ twsize()

template<typename T0>
vcl_size_t POCKETFFT_NAMESPACE::detail::cfftp< T0 >::twsize ( ) const
inlineprivate

Definition at line 1687 of file pocketfft_hdronly.h.

References fact, length, and twsize().

Referenced by cfftp(), and twsize().

Member Data Documentation

◆ fact

template<typename T0>
std::vector<fctdata> POCKETFFT_NAMESPACE::detail::cfftp< T0 >::fact
private

Definition at line 1026 of file pocketfft_hdronly.h.

Referenced by add_factor(), comp_twiddle(), factorize(), pass_all(), and twsize().

◆ length

template<typename T0>
vcl_size_t POCKETFFT_NAMESPACE::detail::cfftp< T0 >::length
private

Definition at line 1024 of file pocketfft_hdronly.h.

Referenced by cfftp(), comp_twiddle(), factorize(), pass_all(), and twsize().

◆ mem

template<typename T0>
arr<cmplx<T0> > POCKETFFT_NAMESPACE::detail::cfftp< T0 >::mem
private

Definition at line 1025 of file pocketfft_hdronly.h.

Referenced by cfftp(), and comp_twiddle().


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