5#include "native_simd_utility.hpp"
6#include "../macros.hpp"
31 using value_type = int16_t;
32 constexpr static size_t size = 8;
59 [[
nodiscard]]
native_i16x8(value_type a, value_type b = value_type{0}, value_type c = value_type{0}, value_type d = value_type{0},
60 value_type e = value_type{0}, value_type f = value_type{0}, value_type g = value_type{0},
61 value_type h = value_type{0})
noexcept :
66 void store(value_type *out)
const noexcept
68 hi_axiom_not_null(out);
74 void store(
void *out)
const noexcept
76 hi_axiom_not_null(out);
82 hi_axiom(
other.size() >= size);
86 void store(std::span<value_type> out)
const noexcept
88 hi_axiom(out.size() >= size);
148 hi_axiom(mask <= 0b1111'1111);
152 truncate<value_type>(mask & 0b0000'0010 ? 0 : 0xffff),
153 truncate<value_type>(mask & 0b0000'0100 ? 0 : 0xffff),
154 truncate<value_type>(mask & 0b0000'1000 ? 0 : 0xffff),
155 truncate<value_type>(mask & 0b0001'0000 ? 0 : 0xffff),
156 truncate<value_type>(mask & 0b0010'0000 ? 0 : 0xffff),
157 truncate<value_type>(mask & 0b0100'0000 ? 0 : 0xffff),
158 truncate<value_type>(mask & 0b1000'0000 ? 0 : 0xffff)};
278 template<
size_t Mask>
281 static_assert(
Mask <= 0b1111'1111);
293 template<
size_t Index>
296 static_assert(
Index < 4);
306 template<
size_t Index>
320 template<
size_t Mask>
327 return not_and(mask, a) | (mask & b);
371 template<fixed_
string SourceElements>
374 constexpr auto one_mask = detail::native_swizzle_to_mask<SourceElements, size, '1'>();
375 constexpr auto zero_mask = detail::native_swizzle_to_mask<SourceElements, size, '0'>();
456 template<
size_t SourceMask>
474 template<fixed_
string SourceElements>
477 constexpr auto one_mask = detail::native_swizzle_to_mask<SourceElements, size, '1'>();
478 constexpr auto zero_mask = detail::native_swizzle_to_mask<SourceElements, size, '0'>();
@ truncate
After the file has been opened, truncate it.
@ other
The gui_event does not have associated data.
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377