friend constexpr basic_mask simd-select-impl(
const basic_mask& mask, const basic_mask& a, const basic_mask& b) noexcept;
Returns: A
basic_mask object where the
ith element equals
mask[i] ? a[i] : b[i] for all
i in the range of
[
0, size())
. friend constexpr basic_mask
simd-select-impl(const basic_mask& mask, same_as<bool> auto a, same_as<bool> auto b) noexcept;
Returns: A
basic_mask object where the
ith element equals
mask[i] ? a : b for all
i in the range of [
0, size())
. template<class T0, class T1>
friend constexpr vec<see below, size()>
simd-select-impl(const basic_mask& mask, const T0& a, const T1& b) noexcept;
Constraints:
- same_as<T0, T1> is true,
- T0 is a vectorizable type, and
- sizeof(T0) == Bytes.
Returns: A
vec<T0, size()> object where the
ith element equals
mask[i] ? a : b for all
i in the range of [
0, size())
.