23inline void simd_add(
const float* a,
const float* b,
float* dst, std::size_t count) {
24 pulp::simd::add(a, b, dst, count);
26inline void simd_add(
const double* a,
const double* b,
double* dst, std::size_t count) {
27 pulp::simd::add(a, b, dst, count);
30inline void simd_mul(
const float* a,
const float* b,
float* dst, std::size_t count) {
31 pulp::simd::mul(a, b, dst, count);
33inline void simd_mul(
const double* a,
const double* b,
double* dst, std::size_t count) {
34 pulp::simd::mul(a, b, dst, count);
37inline void simd_fma(
const float* a,
const float* b,
const float* c,
float* dst,
39 pulp::simd::fma(a, b, c, dst, count);
41inline void simd_fma(
const double* a,
const double* b,
const double* c,
double* dst,
43 pulp::simd::fma(a, b, c, dst, count);
46inline void simd_set(
float value,
float* dst, std::size_t count) {
47 pulp::simd::set(value, dst, count);
49inline void simd_set(
double value,
double* dst, std::size_t count) {
50 pulp::simd::set(value, dst, count);
53inline void simd_scale(
const float* a,
float scalar,
float* dst, std::size_t count) {
54 pulp::simd::scale(a, scalar, dst, count);
56inline void simd_scale(
const double* a,
double scalar,
double* dst, std::size_t count) {
57 pulp::simd::scale(a, scalar, dst, count);
60inline void simd_add_scaled(
const float* a,
float scalar,
float* dst, std::size_t count) {
61 pulp::simd::add_scaled(a, scalar, dst, count);
63inline void simd_add_scaled(
const double* a,
double scalar,
double* dst, std::size_t count) {
64 pulp::simd::add_scaled(a, scalar, dst, count);
68 return pulp::simd::sum(data, count);
71 return pulp::simd::sum(data, count);
75 return pulp::simd::maximum(data, count);
78 return pulp::simd::maximum(data, count);
82 return pulp::simd::minimum(data, count);
85 return pulp::simd::minimum(data, count);
88inline void simd_abs(
const float* a,
float* dst, std::size_t count) {
89 pulp::simd::abs(a, dst, count);
91inline void simd_abs(
const double* a,
double* dst, std::size_t count) {
92 pulp::simd::abs(a, dst, count);
95inline void simd_clamp(
const float* a,
float lo,
float hi,
float* dst, std::size_t count) {
96 pulp::simd::clamp(a, lo, hi, dst, count);
98inline void simd_clamp(
const double* a,
double lo,
double hi,
double* dst, std::size_t count) {
99 pulp::simd::clamp(a, lo, hi, dst, count);
Definition generated_event_source.hpp:33
void simd_clamp(const float *a, float lo, float hi, float *dst, std::size_t count)
Definition simd.hpp:95
void simd_set(float value, float *dst, std::size_t count)
Definition simd.hpp:46
void simd_fma(const float *a, const float *b, const float *c, float *dst, std::size_t count)
Definition simd.hpp:37
void simd_add_scaled(const float *a, float scalar, float *dst, std::size_t count)
Definition simd.hpp:60
void simd_abs(const float *a, float *dst, std::size_t count)
Definition simd.hpp:88
void simd_mul(const float *a, const float *b, float *dst, std::size_t count)
Definition simd.hpp:30
std::size_t simd_double_lanes()
Definition simd.hpp:19
void simd_add(const float *a, const float *b, float *dst, std::size_t count)
Definition simd.hpp:23
float simd_reduce_add(const float *data, std::size_t count)
Definition simd.hpp:67
float simd_reduce_max(const float *data, std::size_t count)
Definition simd.hpp:74
std::size_t simd_float_lanes()
Definition simd.hpp:16
void simd_scale(const float *a, float scalar, float *dst, std::size_t count)
Definition simd.hpp:53
float simd_reduce_min(const float *data, std::size_t count)
Definition simd.hpp:81
constexpr std::size_t float_lanes() noexcept
Definition simd.hpp:172
constexpr std::size_t double_lanes() noexcept
Definition simd.hpp:176