|
MLX
|
#include <cmath>#include <cstdlib>#include <stdexcept>#include <memory>#include <vector>#include <complex>#include <algorithm>#include <mutex>#include <condition_variable>#include <thread>#include <queue>#include <atomic>#include <functional>#include <new>Go to the source code of this file.
Namespaces | |
| namespace | pocketfft |
| namespace | pocketfft::detail |
| namespace | pocketfft::detail::threading |
Macros | |
| #define | POCKETFFT_CACHE_SIZE 0 |
| #define | POCKETFFT_NOINLINE |
| #define | POCKETFFT_RESTRICT |
| #define | POCKETFFT_NO_VECTORS |
| #define | POCKETFFT_PREP3(idx) |
| #define | POCKETFFT_PARTSTEP3a(u1, u2, twr, twi) |
| #define | POCKETFFT_PARTSTEP3b(u1, u2, twr, twi) |
| #define | POCKETFFT_PREP5(idx) |
| #define | POCKETFFT_PARTSTEP5a(u1, u2, twar, twbr, twai, twbi) |
| #define | POCKETFFT_PARTSTEP5b(u1, u2, twar, twbr, twai, twbi) |
| #define | POCKETFFT_PREP7(idx) |
| #define | POCKETFFT_PARTSTEP7a0(u1, u2, x1, x2, x3, y1, y2, y3, out1, out2) |
| #define | POCKETFFT_PARTSTEP7a(u1, u2, x1, x2, x3, y1, y2, y3) POCKETFFT_PARTSTEP7a0(u1,u2,x1,x2,x3,y1,y2,y3,CH(0,k,u1),CH(0,k,u2)) |
| #define | POCKETFFT_PARTSTEP7(u1, u2, x1, x2, x3, y1, y2, y3) |
| #define | POCKETFFT_PREP11(idx) |
| #define | POCKETFFT_PARTSTEP11a0(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, out1, out2) |
| #define | POCKETFFT_PARTSTEP11a(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5) POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2)) |
| #define | POCKETFFT_PARTSTEP11(u1, u2, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5) |
| #define | POCKETFFT_REARRANGE(rx, ix, ry, iy) |
Typedefs | |
| using | pocketfft::detail::shape_t = std::vector<size_t> |
| using | pocketfft::detail::stride_t = std::vector<ptrdiff_t> |
| template<typename T > | |
| using | pocketfft::detail::vtype_t = typename VTYPE<T>::type |
| template<typename T > | |
| using | pocketfft::detail::add_vec_t = typename add_vec<T>::type |
Variables | |
| constexpr bool | pocketfft::detail::FORWARD = true |
| constexpr bool | pocketfft::detail::BACKWARD = false |
| static const size_t | pocketfft::detail::threading::max_threads = std::max(1u, std::thread::hardware_concurrency()) |
| #define POCKETFFT_CACHE_SIZE 0 |
| #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 ) POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2)) |
| #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 ) POCKETFFT_PARTSTEP7a0(u1,u2,x1,x2,x3,y1,y2,y3,CH(0,k,u1),CH(0,k,u2)) |
| #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 |