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

#include <pocketfft_hdronly.h>

Detailed Description

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

Definition at line 1741 of file pocketfft_hdronly.h.

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

Classes

struct  fctdata
 

Public Member Functions

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

Private Member Functions

void add_factor (vcl_size_t factor)
 
void comp_twiddle ()
 
template<typename T>
void copy_and_norm (T *c, T *p1, T0 fct) const
 
void factorize ()
 
template<typename T1, typename T2, typename T3>
void MULPM (T1 &a, T1 &b, T2 c, T2 d, T3 e, T3 f) const
 
template<typename T>
void radb2 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radb3 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radb4 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radb5 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radbg (vcl_size_t ido, vcl_size_t ip, vcl_size_t l1, T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa, const T0 *POCKETFFT_RESTRICT csarr) const
 
template<typename T>
void radf2 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radf3 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radf4 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radf5 (vcl_size_t ido, vcl_size_t l1, const T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa) const
 
template<typename T>
void radfg (vcl_size_t ido, vcl_size_t ip, vcl_size_t l1, T *POCKETFFT_RESTRICT cc, T *POCKETFFT_RESTRICT ch, const T0 *POCKETFFT_RESTRICT wa, const T0 *POCKETFFT_RESTRICT csarr) const
 
vcl_size_t twsize () const
 

Private Attributes

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

Constructor & Destructor Documentation

◆ rfftp()

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

Definition at line 2535 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::rfftp< T0 >::add_factor ( vcl_size_t factor)
inlineprivate

Definition at line 1754 of file pocketfft_hdronly.h.

References fact.

Referenced by factorize().

◆ comp_twiddle()

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

Definition at line 2499 of file pocketfft_hdronly.h.

References fact, length, and mem.

Referenced by rfftp().

◆ copy_and_norm()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::copy_and_norm ( T * c,
T * p1,
T0 fct ) const
inlineprivate

Definition at line 2399 of file pocketfft_hdronly.h.

References length.

Referenced by exec().

◆ exec()

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

◆ factorize()

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

Definition at line 2465 of file pocketfft_hdronly.h.

References add_factor(), fact, and length.

Referenced by rfftp().

◆ MULPM()

template<typename T0>
template<typename T1, typename T2, typename T3>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::MULPM ( T1 & a,
T1 & b,
T2 c,
T2 d,
T3 e,
T3 f ) const
inlineprivate

Definition at line 1758 of file pocketfft_hdronly.h.

Referenced by radb2(), radb3(), radb4(), radb5(), radf2(), radf3(), radf4(), and radf5().

◆ radb2()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb2 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 2083 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radb3()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb3 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 2113 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radb4()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb4 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 2153 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radb5()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb5 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 2205 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radbg()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radbg ( vcl_size_t ido,
vcl_size_t ip,
vcl_size_t l1,
T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa,
const T0 *POCKETFFT_RESTRICT csarr ) const
inlineprivate

Definition at line 2264 of file pocketfft_hdronly.h.

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

Referenced by exec().

◆ radf2()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf2 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 1762 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radf3()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf3 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ radf4()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf4 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

Definition at line 1838 of file pocketfft_hdronly.h.

References MULPM(), POCKETFFT_NAMESPACE::detail::PM(), and POCKETFFT_RESTRICT.

Referenced by exec().

◆ radf5()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf5 ( vcl_size_t ido,
vcl_size_t l1,
const T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa ) const
inlineprivate

◆ radfg()

template<typename T0>
template<typename T>
void POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radfg ( vcl_size_t ido,
vcl_size_t ip,
vcl_size_t l1,
T *POCKETFFT_RESTRICT cc,
T *POCKETFFT_RESTRICT ch,
const T0 *POCKETFFT_RESTRICT wa,
const T0 *POCKETFFT_RESTRICT csarr ) const
inlineprivate

◆ twsize()

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

Definition at line 2486 of file pocketfft_hdronly.h.

References fact, and length.

Referenced by rfftp().

Member Data Documentation

◆ fact

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

Definition at line 1752 of file pocketfft_hdronly.h.

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

◆ length

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

Definition at line 1750 of file pocketfft_hdronly.h.

Referenced by comp_twiddle(), copy_and_norm(), exec(), factorize(), rfftp(), and twsize().

◆ mem

template<typename T0>
arr<T0> POCKETFFT_NAMESPACE::detail::rfftp< T0 >::mem
private

Definition at line 1751 of file pocketfft_hdronly.h.

Referenced by comp_twiddle(), and rfftp().


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