25#if defined(HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_) == defined(HWY_TARGET_TOGGLE)
26#ifdef HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
27#undef HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
29#define HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
48template <
class D,
typename T>
52 for (
size_t i = 0; i < size; i +=
hn::Lanes(d)) {
53 const auto mul =
hn::Load(d, mul_array + i);
54 const auto add =
hn::Load(d, add_array + i);
#define HWY_RESTRICT
Definition base.h:64
#define HWY_MAYBE_UNUSED
Definition base.h:82
HWY_API Vec128< float, N > MulAdd(const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add)
Definition arm_neon-inl.h:1799
HWY_API constexpr size_t Lanes(Simd< T, N, kPow2 >)
Definition arm_sve-inl.h:243
HWY_API Vec128< T, N > Load(Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
Definition arm_neon-inl.h:2753
HWY_API void Store(Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT aligned)
Definition arm_neon-inl.h:2934
HWY_MAYBE_UNUSED void MulAddLoop(const D d, const T *HWY_RESTRICT mul_array, const T *HWY_RESTRICT add_array, const size_t size, T *HWY_RESTRICT x_array)
Definition skeleton-inl.h:49
Definition skeleton-inl.h:38
#define HWY_NAMESPACE
Definition set_macros-inl.h:82