@@ -16634,26 +16634,26 @@
16634
16634
// \ref{simd.permute.dynamic}, Permute by dynamic index
16635
16635
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16636
16636
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
16637
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
16638
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
16637
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
16638
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
16639
16639
16640
16640
// \ref{simd.permute.mask}, Permute by active mask bits
16641
16641
template<@\exposconcept{simd-type}@ V>
16642
16642
constexpr V compress(const V& v, const typename V::mask_type& selector);
16643
- template<@\exposconcept{simd-mask-type}@ V >
16644
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
16643
+ template<@\exposconcept{simd-mask-type}@ M >
16644
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
16645
16645
template<@\exposconcept{simd-type}@ V>
16646
16646
constexpr V compress(const V& v, const typename V::mask_type& selector,
16647
16647
const typename V::value_type& fill_value);
16648
- template<@\exposconcept{simd-mask-type}@ V >
16649
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
16648
+ template<@\exposconcept{simd-mask-type}@ M >
16649
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
16650
16650
const typename V::value_type& fill_value);
16651
16651
16652
16652
template<@\exposconcept{simd-type}@ V>
16653
16653
constexpr V expand(const V& v, const typename V::mask_type& selector,
16654
16654
const V& original = {});
16655
- template<@\exposconcept{simd-mask-type}@ V >
16656
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
16655
+ template<@\exposconcept{simd-mask-type}@ M >
16656
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
16657
16657
16658
16658
// \ref{simd.permute.memory}, Permute to and from memory
16659
16659
template<class V = @\seebelow@,
18712
18712
\begin{itemdecl}
18713
18713
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18714
18714
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18715
- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V , class IdxMap>
18716
- constexpr resize_t<N, V > permute(const V & v, IdxMap&& idxmap);
18715
+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M , class IdxMap>
18716
+ constexpr resize_t<N, M > permute(const M & v, IdxMap&& idxmap);
18717
18717
\end{itemdecl}
18718
18718
18719
18719
\begin{itemdescr}
18762
18762
\begin{itemdecl}
18763
18763
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18764
18764
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18765
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18766
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18765
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18766
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18767
18767
\end{itemdecl}
18768
18768
18769
18769
\begin{itemdescr}
18783
18783
\begin{itemdecl}
18784
18784
template<@\exposconcept{simd-type}@ V>
18785
18785
constexpr V compress(const V& v, const typename V::mask_type& selector);
18786
- template<@\exposconcept{simd-mask-type}@ V >
18787
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18786
+ template<@\exposconcept{simd-mask-type}@ M >
18787
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18788
18788
\end{itemdecl}
18789
18789
18790
18790
\begin{itemdescr}
18811
18811
template<@\exposconcept{simd-type}@ V>
18812
18812
constexpr V compress(const V& v, const typename V::mask_type& selector,
18813
18813
const typename V::value_type& fill_value);
18814
- template<@\exposconcept{simd-mask-type}@ V >
18815
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18814
+ template<@\exposconcept{simd-mask-type}@ M >
18815
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18816
18816
const typename V::value_type& fill_value);
18817
18817
\end{itemdecl}
18818
18818
18837
18837
\begin{itemdecl}
18838
18838
template<@\exposconcept{simd-type}@ V>
18839
18839
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
18840
- template<@\exposconcept{simd-mask-type}@ V >
18841
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18840
+ template<@\exposconcept{simd-mask-type}@ M >
18841
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18842
18842
\end{itemdecl}
18843
18843
18844
18844
\begin{itemdescr}
0 commit comments