@@ -16609,26 +16609,26 @@
16609
16609
// \ref{simd.permute.dynamic}, Permute by dynamic index
16610
16610
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16611
16611
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
16612
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
16613
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
16612
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
16613
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
16614
16614
16615
16615
// \ref{simd.permute.mask}, Permute by active mask bits
16616
16616
template<@\exposconcept{simd-type}@ V>
16617
16617
constexpr V compress(const V& v, const typename V::mask_type& selector);
16618
- template<@\exposconcept{simd-mask-type}@ V >
16619
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
16618
+ template<@\exposconcept{simd-mask-type}@ M >
16619
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
16620
16620
template<@\exposconcept{simd-type}@ V>
16621
16621
constexpr V compress(const V& v, const typename V::mask_type& selector,
16622
16622
const typename V::value_type& fill_value);
16623
- template<@\exposconcept{simd-mask-type}@ V >
16624
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
16623
+ template<@\exposconcept{simd-mask-type}@ M >
16624
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
16625
16625
const typename V::value_type& fill_value);
16626
16626
16627
16627
template<@\exposconcept{simd-type}@ V>
16628
16628
constexpr V expand(const V& v, const typename V::mask_type& selector,
16629
16629
const V& original = {});
16630
- template<@\exposconcept{simd-mask-type}@ V >
16631
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
16630
+ template<@\exposconcept{simd-mask-type}@ M >
16631
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
16632
16632
16633
16633
// \ref{simd.permute.memory}, Permute to and from memory
16634
16634
template<class V = @\seebelow@,
18690
18690
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18691
18691
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18692
18692
18693
- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V , class IdxMap>
18694
- constexpr resize_t<N, V > permute(const V & v, IdxMap&& idxmap);
18693
+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M , class IdxMap>
18694
+ constexpr resize_t<N, M > permute(const M & v, IdxMap&& idxmap);
18695
18695
\end{itemdecl}
18696
18696
18697
18697
\begin{itemdescr}
18741
18741
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18742
18742
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18743
18743
18744
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18745
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18744
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18745
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18746
18746
\end{itemdecl}
18747
18747
18748
18748
\begin{itemdescr}
18763
18763
template<@\exposconcept{simd-type}@ V>
18764
18764
constexpr V compress(const V& v, const typename V::mask_type& selector);
18765
18765
18766
- template<@\exposconcept{simd-mask-type}@ V >
18767
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18766
+ template<@\exposconcept{simd-mask-type}@ M >
18767
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18768
18768
\end{itemdecl}
18769
18769
18770
18770
\begin{itemdescr}
18792
18792
constexpr V compress(const V& v, const typename V::mask_type& selector,
18793
18793
const typename V::value_type& fill_value);
18794
18794
18795
- template<@\exposconcept{simd-mask-type}@ V >
18796
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18797
- const typename V ::value_type& fill_value);
18795
+ template<@\exposconcept{simd-mask-type}@ M >
18796
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18797
+ const typename M ::value_type& fill_value);
18798
18798
\end{itemdecl}
18799
18799
18800
18800
\begin{itemdescr}
18820
18820
constexpr V expand(const V& v, const typename V::mask_type& selector,
18821
18821
const V& original = {});
18822
18822
18823
- template<@\exposconcept{simd-mask-type}@ V >
18824
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18823
+ template<@\exposconcept{simd-mask-type}@ M >
18824
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18825
18825
\end{itemdecl}
18826
18826
18827
18827
\begin{itemdescr}
0 commit comments