Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
simd.hpp File Reference
#include <cstddef>
#include <pulp/simd/scalar_kernels.hpp>

Go to the source code of this file.

Namespaces

namespace  pulp
namespace  pulp::simd
namespace  pulp::simd::backend
namespace  pulp::simd::backend::scalar
namespace  pulp::simd::backend::inline_scalar

Macros

#define PULP_SIMD_DECLARE_KERNELS(T)

Functions

void pulp::simd::backend::scalar::add (const float *a, const float *b, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::mul (const float *a, const float *b, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::fma (const float *a, const float *b, const float *c, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::set (float value, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::scale (const float *a, float scalar, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::add_scaled (const float *a, float scalar, float *dst, std::size_t count) noexcept
float pulp::simd::backend::scalar::sum (const float *data, std::size_t count) noexcept
float pulp::simd::backend::scalar::maximum (const float *data, std::size_t count) noexcept
float pulp::simd::backend::scalar::minimum (const float *data, std::size_t count) noexcept
void pulp::simd::backend::scalar::abs (const float *a, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::clamp (const float *a, float lo, float hi, float *dst, std::size_t count) noexcept
float pulp::simd::backend::scalar::dot (const float *a, const float *b, std::size_t count) noexcept
float pulp::simd::backend::scalar::sum_squares (const float *data, std::size_t count) noexcept
float pulp::simd::backend::scalar::max_abs (const float *data, std::size_t count) noexcept
void pulp::simd::backend::scalar::ramp_mul (const float *x, float start, float step, float *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::correlate (const float *x, const float *h, float *y, std::size_t n_out, std::size_t taps) noexcept
void pulp::simd::backend::scalar::decimate2 (const float *x, const float *h, float *y, std::size_t n_out, std::size_t taps) noexcept
void pulp::simd::backend::scalar::add (const double *a, const double *b, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::mul (const double *a, const double *b, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::fma (const double *a, const double *b, const double *c, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::set (double value, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::scale (const double *a, double scalar, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::add_scaled (const double *a, double scalar, double *dst, std::size_t count) noexcept
double pulp::simd::backend::scalar::sum (const double *data, std::size_t count) noexcept
double pulp::simd::backend::scalar::maximum (const double *data, std::size_t count) noexcept
double pulp::simd::backend::scalar::minimum (const double *data, std::size_t count) noexcept
void pulp::simd::backend::scalar::abs (const double *a, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::clamp (const double *a, double lo, double hi, double *dst, std::size_t count) noexcept
double pulp::simd::backend::scalar::dot (const double *a, const double *b, std::size_t count) noexcept
double pulp::simd::backend::scalar::sum_squares (const double *data, std::size_t count) noexcept
double pulp::simd::backend::scalar::max_abs (const double *data, std::size_t count) noexcept
void pulp::simd::backend::scalar::ramp_mul (const double *x, double start, double step, double *dst, std::size_t count) noexcept
void pulp::simd::backend::scalar::correlate (const double *x, const double *h, double *y, std::size_t n_out, std::size_t taps) noexcept
void pulp::simd::backend::scalar::decimate2 (const double *x, const double *h, double *y, std::size_t n_out, std::size_t taps) noexcept
constexpr std::size_t pulp::simd::float_lanes () noexcept
constexpr std::size_t pulp::simd::double_lanes () noexcept

Variables

constexpr const char * pulp::simd::active_backend_name = "inline-scalar"

Macro Definition Documentation

◆ PULP_SIMD_DECLARE_KERNELS

#define PULP_SIMD_DECLARE_KERNELS ( T)
Value:
void add(const T* a, const T* b, T* dst, std::size_t count) noexcept; \
void mul(const T* a, const T* b, T* dst, std::size_t count) noexcept; \
void fma(const T* a, const T* b, const T* c, T* dst, std::size_t count) noexcept; \
void set(T value, T* dst, std::size_t count) noexcept; \
void scale(const T* a, T scalar, T* dst, std::size_t count) noexcept; \
void add_scaled(const T* a, T scalar, T* dst, std::size_t count) noexcept; \
T sum(const T* data, std::size_t count) noexcept; \
T maximum(const T* data, std::size_t count) noexcept; \
T minimum(const T* data, std::size_t count) noexcept; \
void abs(const T* a, T* dst, std::size_t count) noexcept; \
void clamp(const T* a, T lo, T hi, T* dst, std::size_t count) noexcept; \
T dot(const T* a, const T* b, std::size_t count) noexcept; \
T sum_squares(const T* data, std::size_t count) noexcept; \
T max_abs(const T* data, std::size_t count) noexcept; \
void ramp_mul(const T* x, T start, T step, T* dst, std::size_t count) noexcept; \
void correlate(const T* x, const T* h, T* y, std::size_t n_out, std::size_t taps) noexcept; \
void decimate2(const T* x, const T* h, T* y, std::size_t n_out, std::size_t taps) noexcept;