@@ -16613,26 +16613,26 @@
16613
16613
// \ref{simd.permute.dynamic}, Permute by dynamic index
16614
16614
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16615
16615
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
16616
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
16617
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
16616
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
16617
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
16618
16618
16619
16619
// \ref{simd.permute.mask}, Permute by active mask bits
16620
16620
template<@\exposconcept{simd-type}@ V>
16621
16621
constexpr V compress(const V& v, const typename V::mask_type& selector);
16622
- template<@\exposconcept{simd-mask-type}@ V >
16623
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
16622
+ template<@\exposconcept{simd-mask-type}@ M >
16623
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
16624
16624
template<@\exposconcept{simd-type}@ V>
16625
16625
constexpr V compress(const V& v, const typename V::mask_type& selector,
16626
16626
const typename V::value_type& fill_value);
16627
- template<@\exposconcept{simd-mask-type}@ V >
16628
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
16627
+ template<@\exposconcept{simd-mask-type}@ M >
16628
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
16629
16629
const typename V::value_type& fill_value);
16630
16630
16631
16631
template<@\exposconcept{simd-type}@ V>
16632
16632
constexpr V expand(const V& v, const typename V::mask_type& selector,
16633
16633
const V& original = {});
16634
- template<@\exposconcept{simd-mask-type}@ V >
16635
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
16634
+ template<@\exposconcept{simd-mask-type}@ M >
16635
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
16636
16636
16637
16637
// \ref{simd.permute.memory}, Permute to and from memory
16638
16638
template<class V = @\seebelow@,
18694
18694
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18695
18695
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18696
18696
18697
- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V , class IdxMap>
18698
- constexpr resize_t<N, V > permute(const V & v, IdxMap&& idxmap);
18697
+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M , class IdxMap>
18698
+ constexpr resize_t<N, M > permute(const M & v, IdxMap&& idxmap);
18699
18699
\end{itemdecl}
18700
18700
18701
18701
\begin{itemdescr}
18745
18745
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18746
18746
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18747
18747
18748
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18749
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18748
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18749
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18750
18750
\end{itemdecl}
18751
18751
18752
18752
\begin{itemdescr}
18767
18767
template<@\exposconcept{simd-type}@ V>
18768
18768
constexpr V compress(const V& v, const typename V::mask_type& selector);
18769
18769
18770
- template<@\exposconcept{simd-mask-type}@ V >
18771
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18770
+ template<@\exposconcept{simd-mask-type}@ M >
18771
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18772
18772
\end{itemdecl}
18773
18773
18774
18774
\begin{itemdescr}
18796
18796
constexpr V compress(const V& v, const typename V::mask_type& selector,
18797
18797
const typename V::value_type& fill_value);
18798
18798
18799
- template<@\exposconcept{simd-mask-type}@ V >
18800
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18801
- const typename V ::value_type& fill_value);
18799
+ template<@\exposconcept{simd-mask-type}@ M >
18800
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18801
+ const typename M ::value_type& fill_value);
18802
18802
\end{itemdecl}
18803
18803
18804
18804
\begin{itemdescr}
18824
18824
constexpr V expand(const V& v, const typename V::mask_type& selector,
18825
18825
const V& original = {});
18826
18826
18827
- template<@\exposconcept{simd-mask-type}@ V >
18828
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18827
+ template<@\exposconcept{simd-mask-type}@ M >
18828
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18829
18829
\end{itemdecl}
18830
18830
18831
18831
\begin{itemdescr}
0 commit comments