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 |