@@ -16614,26 +16614,26 @@
16614
16614
// \ref{simd.permute.dynamic}, Permute by dynamic index
16615
16615
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16616
16616
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
16617
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
16618
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
16617
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
16618
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
16619
16619
16620
16620
// \ref{simd.permute.mask}, Permute by active mask bits
16621
16621
template<@\exposconcept{simd-type}@ V>
16622
16622
constexpr V compress(const V& v, const typename V::mask_type& selector);
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
template<@\exposconcept{simd-type}@ V>
16626
16626
constexpr V compress(const V& v, const typename V::mask_type& selector,
16627
16627
const typename V::value_type& fill_value);
16628
- template<@\exposconcept{simd-mask-type}@ V >
16629
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
16628
+ template<@\exposconcept{simd-mask-type}@ M >
16629
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
16630
16630
const typename V::value_type& fill_value);
16631
16631
16632
16632
template<@\exposconcept{simd-type}@ V>
16633
16633
constexpr V expand(const V& v, const typename V::mask_type& selector,
16634
16634
const V& original = {});
16635
- template<@\exposconcept{simd-mask-type}@ V >
16636
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
16635
+ template<@\exposconcept{simd-mask-type}@ M >
16636
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
16637
16637
16638
16638
// \ref{simd.permute.memory}, Permute to and from memory
16639
16639
template<class V = @\seebelow@,
18694
18694
\begin{itemdecl}
18695
18695
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18696
18696
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
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}
18744
18744
\begin{itemdecl}
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
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18748
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18747
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18748
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18749
18749
\end{itemdecl}
18750
18750
18751
18751
\begin{itemdescr}
18765
18765
\begin{itemdecl}
18766
18766
template<@\exposconcept{simd-type}@ V>
18767
18767
constexpr V compress(const V& v, const typename V::mask_type& selector);
18768
- template<@\exposconcept{simd-mask-type}@ V >
18769
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18768
+ template<@\exposconcept{simd-mask-type}@ M >
18769
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18770
18770
\end{itemdecl}
18771
18771
18772
18772
\begin{itemdescr}
18793
18793
template<@\exposconcept{simd-type}@ V>
18794
18794
constexpr V compress(const V& v, const typename V::mask_type& selector,
18795
18795
const typename V::value_type& fill_value);
18796
- template<@\exposconcept{simd-mask-type}@ V >
18797
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18796
+ template<@\exposconcept{simd-mask-type}@ M >
18797
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18798
18798
const typename V::value_type& fill_value);
18799
18799
\end{itemdecl}
18800
18800
18819
18819
\begin{itemdecl}
18820
18820
template<@\exposconcept{simd-type}@ V>
18821
18821
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
18822
- template<@\exposconcept{simd-mask-type}@ V >
18823
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18822
+ template<@\exposconcept{simd-mask-type}@ M >
18823
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18824
18824
\end{itemdecl}
18825
18825
18826
18826
\begin{itemdescr}
0 commit comments