#include <cmath>#include <cstdlib>#include <cstddef>#include <cstdint>#include <exception>#include <stdexcept>#include <memory>#include <vector>#include <complex>#include <algorithm>#include <limits>#include <mutex>#include <condition_variable>#include <thread>#include <queue>#include <atomic>#include <functional>#include <new>
Include dependency graph for pocketfft_hdronly.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | POCKETFFT_NAMESPACE |
| namespace | POCKETFFT_NAMESPACE::detail |
| namespace | POCKETFFT_NAMESPACE::detail::threading |
Macros | |
| #define | POCKETFFT_CACHE_SIZE 16 |
| #define | POCKETFFT_NAMESPACE pocketfft |
| #define | POCKETFFT_NO_VECTORS |
| #define | POCKETFFT_NOINLINE |
| #define | POCKETFFT_PARTSTEP11(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5) |
| #define | POCKETFFT_PARTSTEP11a(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5) |
| #define | POCKETFFT_PARTSTEP11a0(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, out1, out2) |
| #define | POCKETFFT_PARTSTEP3a(u1, u2, twr, twi) |
| #define | POCKETFFT_PARTSTEP3b(u1, u2, twr, twi) |
| #define | POCKETFFT_PARTSTEP5a(u1, u2, twar, twbr, twai, twbi) |
| #define | POCKETFFT_PARTSTEP5b(u1, u2, twar, twbr, twai, twbi) |
| #define | POCKETFFT_PARTSTEP7(u1, u2, x1, x2, x3, y1, y2, y3) |
| #define | POCKETFFT_PARTSTEP7a(u1, u2, x1, x2, x3, y1, y2, y3) |
| #define | POCKETFFT_PARTSTEP7a0(u1, u2, x1, x2, x3, y1, y2, y3, out1, out2) |
| #define | POCKETFFT_PREP11(idx) |
| #define | POCKETFFT_PREP3(idx) |
| #define | POCKETFFT_PREP5(idx) |
| #define | POCKETFFT_PREP7(idx) |
| #define | POCKETFFT_REARRANGE(rx, ix, ry, iy) |
| #define | POCKETFFT_RESTRICT |
Typedefs | |
| template<typename T> | |
| using | POCKETFFT_NAMESPACE::detail::add_vec_t = typename add_vec<T>::type |
| using | POCKETFFT_NAMESPACE::detail::shape_t = std::vector<vcl_size_t> |
| using | POCKETFFT_NAMESPACE::shape_t |
| using | POCKETFFT_NAMESPACE::detail::stride_t = std::vector<ptrdiff_t> |
| using | POCKETFFT_NAMESPACE::stride_t |
| template<typename T> | |
| using | POCKETFFT_NAMESPACE::detail::vtype_t = typename VTYPE<T>::type |
Functions | |
| void * | POCKETFFT_NAMESPACE::detail::aligned_alloc (vcl_size_t align, vcl_size_t size) |
| void | POCKETFFT_NAMESPACE::detail::aligned_dealloc (void *ptr) |
| template<typename T> | |
| arr< char > | POCKETFFT_NAMESPACE::detail::alloc_tmp (const shape_t &shape, const shape_t &axes, vcl_size_t elemsize) |
| template<typename T> | |
| arr< char > | POCKETFFT_NAMESPACE::detail::alloc_tmp (const shape_t &shape, vcl_size_t axsize, vcl_size_t elemsize) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::c2c (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const std::complex< T > *data_in, std::complex< T > *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::c2c (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const std::complex< T > *data_in, std::complex< T > *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::c2r (const shape_t &shape_out, const stride_t &stride_in, const stride_t &stride_out, vcl_size_t axis, bool forward, const std::complex< T > *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::c2r (const shape_t &shape_out, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const std::complex< T > *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::c2r (const shape_t &shape_out, const stride_t &stride_in, const stride_t &stride_out, vcl_size_t axis, bool forward, const std::complex< T > *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| cmplx< T > | POCKETFFT_NAMESPACE::detail::conj (const cmplx< T > &a) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_FHT (const multi_iter< vlen > &it, const T *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_FHT (const multi_iter< vlen > &it, const vtype_t< T > *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_hartley (const multi_iter< vlen > &it, const T *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_hartley (const multi_iter< vlen > &it, const vtype_t< T > *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_input (const multi_iter< vlen > &it, const cndarr< cmplx< T > > &src, cmplx< vtype_t< T > > *POCKETFFT_RESTRICT dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_input (const multi_iter< vlen > &it, const cndarr< T > &src, T *POCKETFFT_RESTRICT dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_input (const multi_iter< vlen > &it, const cndarr< T > &src, vtype_t< T > *POCKETFFT_RESTRICT dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_output (const multi_iter< vlen > &it, const cmplx< vtype_t< T > > *POCKETFFT_RESTRICT src, ndarr< cmplx< T > > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_output (const multi_iter< vlen > &it, const T *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T, vcl_size_t vlen> | |
| void | POCKETFFT_NAMESPACE::detail::copy_output (const multi_iter< vlen > &it, const vtype_t< T > *POCKETFFT_RESTRICT src, ndarr< T > &dst) |
| template<typename T> | |
| T | POCKETFFT_NAMESPACE::detail::cos (T)=delete |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::dct (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::dct (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::dst (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::dst (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, vcl_size_t nthreads=1) |
| template<typename T> | |
| POCKETFFT_NOINLINE void | POCKETFFT_NAMESPACE::detail::general_c2r (const cndarr< cmplx< T > > &in, ndarr< T > &out, vcl_size_t axis, bool forward, T fct, vcl_size_t nthreads) |
| template<typename Tplan, typename T, typename T0, typename Exec> | |
| POCKETFFT_NOINLINE void | POCKETFFT_NAMESPACE::detail::general_nd (const cndarr< T > &in, ndarr< T > &out, const shape_t &axes, T0 fct, vcl_size_t nthreads, const Exec &exec, const bool allow_inplace=true) |
| template<typename T> | |
| POCKETFFT_NOINLINE void | POCKETFFT_NAMESPACE::detail::general_r2c (const cndarr< T > &in, ndarr< cmplx< T > > &out, vcl_size_t axis, bool forward, T fct, vcl_size_t nthreads) |
| template<typename T> | |
| std::shared_ptr< T > | POCKETFFT_NAMESPACE::detail::get_plan (vcl_size_t length) |
| thread_pool & | POCKETFFT_NAMESPACE::detail::threading::get_pool () |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::MPINPLACE (T &a, T &b) |
| vcl_size_t & | POCKETFFT_NAMESPACE::detail::threading::num_threads () |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::PM (T &a, T &b, T c, T d) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::PMINPLACE (T &a, T &b) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2c (const shape_t &shape_in, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const T *data_in, std::complex< T > *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2c (const shape_t &shape_in, const stride_t &stride_in, const stride_t &stride_out, vcl_size_t axis, bool forward, const T *data_in, std::complex< T > *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2c (const shape_t &shape_in, const stride_t &stride_in, const stride_t &stride_out, vcl_size_t axis, bool forward, const T *data_in, std::complex< T > *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2r_fftpack (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool real2hermitian, bool forward, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2r_fftpack (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool real2hermitian, bool forward, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2r_genuine_fht (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2r_genuine_fht (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2r_genuine_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2r_genuine_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2r_separable_fht (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2r_separable_fht (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::r2r_separable_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::r2r_separable_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, vcl_size_t nthreads=1) |
| template<typename T> | |
| void | POCKETFFT_NAMESPACE::detail::ROT90 (cmplx< T > &a) |
| template<bool fwd, typename T> | |
| void | POCKETFFT_NAMESPACE::detail::ROTX90 (cmplx< T > &a) |
| template<typename T> | |
| T | POCKETFFT_NAMESPACE::detail::sin (T)=delete |
| template<bool fwd, typename T, typename T2> | |
| void | POCKETFFT_NAMESPACE::detail::special_mul (const cmplx< T > &v1, const cmplx< T2 > &v2, cmplx< T > &res) |
| template<typename T> | |
| T | POCKETFFT_NAMESPACE::detail::sqrt (T)=delete |
| vcl_size_t & | POCKETFFT_NAMESPACE::detail::threading::thread_id () |
| template<typename Func> | |
| void | POCKETFFT_NAMESPACE::detail::threading::thread_map (vcl_size_t nthreads, Func f) |
Variables | |
| constexpr bool | POCKETFFT_NAMESPACE::BACKWARD |
| constexpr bool | POCKETFFT_NAMESPACE::detail::BACKWARD = false |
| constexpr bool | POCKETFFT_NAMESPACE::detail::FORWARD = true |
| constexpr bool | POCKETFFT_NAMESPACE::FORWARD |
| static const vcl_size_t | POCKETFFT_NAMESPACE::detail::threading::max_threads = std::max(1u, std::thread::hardware_concurrency()) |
| #define POCKETFFT_CACHE_SIZE 16 |
Definition at line 66 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::get_plan().
| #define POCKETFFT_NAMESPACE pocketfft |
Definition at line 57 of file pocketfft_hdronly.h.
| #define POCKETFFT_NO_VECTORS |
Definition at line 129 of file pocketfft_hdronly.h.
| #define POCKETFFT_NOINLINE |
Definition at line 106 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::cfftp(), POCKETFFT_NAMESPACE::detail::util::cost_guess(), POCKETFFT_NAMESPACE::detail::pocketfft_c< T0 >::exec(), POCKETFFT_NAMESPACE::detail::pocketfft_r< T0 >::exec(), POCKETFFT_NAMESPACE::detail::T_dcst23< T0 >::exec(), POCKETFFT_NAMESPACE::detail::T_dcst4< T0 >::exec(), POCKETFFT_NAMESPACE::detail::T_dct1< T0 >::exec(), POCKETFFT_NAMESPACE::detail::T_dst1< T0 >::exec(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::factorize(), POCKETFFT_NAMESPACE::detail::fftblue< T0 >::fftblue(), POCKETFFT_NAMESPACE::detail::general_c2r(), POCKETFFT_NAMESPACE::detail::general_nd(), POCKETFFT_NAMESPACE::detail::general_r2c(), POCKETFFT_NAMESPACE::detail::util::good_size_cmplx(), POCKETFFT_NAMESPACE::detail::util::good_size_cmplx(), POCKETFFT_NAMESPACE::detail::util::good_size_cmplx_typed(), POCKETFFT_NAMESPACE::detail::util::good_size_real(), POCKETFFT_NAMESPACE::detail::util::good_size_real(), POCKETFFT_NAMESPACE::detail::util::good_size_real_typed(), POCKETFFT_NAMESPACE::detail::util::largest_prime_factor(), POCKETFFT_NAMESPACE::detail::pocketfft_c< T0 >::pocketfft_c(), POCKETFFT_NAMESPACE::detail::pocketfft_r< T0 >::pocketfft_r(), POCKETFFT_NAMESPACE::detail::util::prev_good_size_cmplx(), POCKETFFT_NAMESPACE::detail::util::prev_good_size_cmplx_typed(), POCKETFFT_NAMESPACE::detail::util::prev_good_size_real(), POCKETFFT_NAMESPACE::detail::util::prev_good_size_real_typed(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::rfftp(), POCKETFFT_NAMESPACE::detail::util::sanity_check(), POCKETFFT_NAMESPACE::detail::util::sanity_check(), POCKETFFT_NAMESPACE::detail::util::sanity_check(), POCKETFFT_NAMESPACE::detail::sincos_2pibyn< T >::sincos_2pibyn(), POCKETFFT_NAMESPACE::detail::T_dcst23< T0 >::T_dcst23(), POCKETFFT_NAMESPACE::detail::T_dcst4< T0 >::T_dcst4(), POCKETFFT_NAMESPACE::detail::T_dct1< T0 >::T_dct1(), and POCKETFFT_NAMESPACE::detail::T_dst1< T0 >::T_dst1().
| #define POCKETFFT_PARTSTEP11 | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| x4, | |||
| x5, | |||
| y1, | |||
| y2, | |||
| y3, | |||
| y4, | |||
| y5 ) |
Definition at line 1434 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass11().
| #define POCKETFFT_PARTSTEP11a | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| x4, | |||
| x5, | |||
| y1, | |||
| y2, | |||
| y3, | |||
| y4, | |||
| y5 ) |
Definition at line 1432 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass11().
| #define POCKETFFT_PARTSTEP11a0 | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| x4, | |||
| x5, | |||
| y1, | |||
| y2, | |||
| y3, | |||
| y4, | |||
| y5, | |||
| out1, | |||
| out2 ) |
Definition at line 1424 of file pocketfft_hdronly.h.
| #define POCKETFFT_PARTSTEP3a | ( | u1, | |
| u2, | |||
| twr, | |||
| twi ) |
Definition at line 1065 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass3().
| #define POCKETFFT_PARTSTEP3b | ( | u1, | |
| u2, | |||
| twr, | |||
| twi ) |
Definition at line 1071 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass3().
| #define POCKETFFT_PARTSTEP5a | ( | u1, | |
| u2, | |||
| twar, | |||
| twbr, | |||
| twai, | |||
| twbi ) |
Definition at line 1171 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass5().
| #define POCKETFFT_PARTSTEP5b | ( | u1, | |
| u2, | |||
| twar, | |||
| twbr, | |||
| twai, | |||
| twbi ) |
Definition at line 1181 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass5().
| #define POCKETFFT_PARTSTEP7 | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| y1, | |||
| y2, | |||
| y3 ) |
Definition at line 1254 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass7().
| #define POCKETFFT_PARTSTEP7a | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| y1, | |||
| y2, | |||
| y3 ) |
Definition at line 1252 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass7().
| #define POCKETFFT_PARTSTEP7a0 | ( | u1, | |
| u2, | |||
| x1, | |||
| x2, | |||
| x3, | |||
| y1, | |||
| y2, | |||
| y3, | |||
| out1, | |||
| out2 ) |
Definition at line 1243 of file pocketfft_hdronly.h.
| #define POCKETFFT_PREP11 | ( | idx | ) |
Definition at line 1414 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass11().
| #define POCKETFFT_PREP3 | ( | idx | ) |
Definition at line 1061 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass3().
| #define POCKETFFT_PREP5 | ( | idx | ) |
Definition at line 1164 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass5().
| #define POCKETFFT_PREP7 | ( | idx | ) |
Definition at line 1235 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass7().
| #define POCKETFFT_REARRANGE | ( | rx, | |
| ix, | |||
| ry, | |||
| iy ) |
Definition at line 1793 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf3(), and POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf5().
| #define POCKETFFT_RESTRICT |
Definition at line 107 of file pocketfft_hdronly.h.
Referenced by POCKETFFT_NAMESPACE::detail::copy_FHT(), POCKETFFT_NAMESPACE::detail::copy_FHT(), POCKETFFT_NAMESPACE::detail::copy_hartley(), POCKETFFT_NAMESPACE::detail::copy_hartley(), POCKETFFT_NAMESPACE::detail::copy_input(), POCKETFFT_NAMESPACE::detail::copy_input(), POCKETFFT_NAMESPACE::detail::copy_input(), POCKETFFT_NAMESPACE::detail::copy_output(), POCKETFFT_NAMESPACE::detail::copy_output(), POCKETFFT_NAMESPACE::detail::copy_output(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass11(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass2(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass3(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass4(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass5(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass7(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::pass8(), POCKETFFT_NAMESPACE::detail::cfftp< T0 >::passg(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb2(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb3(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb4(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radb5(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radbg(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf2(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf3(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf4(), POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radf5(), and POCKETFFT_NAMESPACE::detail::rfftp< T0 >::radfg().