@@ -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@,
18693
18693
\begin{itemdecl}
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
- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V , class IdxMap>
18697
- constexpr resize_t<N, V > permute(const V & v, IdxMap&& idxmap);
18696
+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M , class IdxMap>
18697
+ constexpr resize_t<N, M > permute(const M & v, IdxMap&& idxmap);
18698
18698
\end{itemdecl}
18699
18699
18700
18700
\begin{itemdescr}
18743
18743
\begin{itemdecl}
18744
18744
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18745
18745
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18746
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18747
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18746
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18747
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18748
18748
\end{itemdecl}
18749
18749
18750
18750
\begin{itemdescr}
18764
18764
\begin{itemdecl}
18765
18765
template<@\exposconcept{simd-type}@ V>
18766
18766
constexpr V compress(const V& v, const typename V::mask_type& selector);
18767
- template<@\exposconcept{simd-mask-type}@ V >
18768
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18767
+ template<@\exposconcept{simd-mask-type}@ M >
18768
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18769
18769
\end{itemdecl}
18770
18770
18771
18771
\begin{itemdescr}
18792
18792
template<@\exposconcept{simd-type}@ V>
18793
18793
constexpr V compress(const V& v, const typename V::mask_type& selector,
18794
18794
const typename V::value_type& fill_value);
18795
- template<@\exposconcept{simd-mask-type}@ V >
18796
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18795
+ template<@\exposconcept{simd-mask-type}@ M >
18796
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18797
18797
const typename V::value_type& fill_value);
18798
18798
\end{itemdecl}
18799
18799
18818
18818
\begin{itemdecl}
18819
18819
template<@\exposconcept{simd-type}@ V>
18820
18820
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
18821
- template<@\exposconcept{simd-mask-type}@ V >
18822
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18821
+ template<@\exposconcept{simd-mask-type}@ M >
18822
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18823
18823
\end{itemdecl}
18824
18824
18825
18825
\begin{itemdescr}
0 commit comments