| 
    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 |