@@ -16634,27 +16634,27 @@
16634
16634
// \ref{simd.permute.dynamic}, Permute by dynamic index
16635
16635
template<@\exposconcept{simd-vec-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-vec-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-vec-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-vec-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,
16657
- const V & original = {});
16655
+ template<@\exposconcept{simd-mask-type}@ M >
16656
+ constexpr M expand(const M & v, const type_identity_t<M >& selector,
16657
+ const M & original = {});
16658
16658
16659
16659
// \ref{simd.permute.memory}, Permute to and from memory
16660
16660
template<class V = @\seebelow@,
18709
18709
\begin{itemdecl}
18710
18710
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec-type}@ V, class IdxMap>
18711
18711
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18712
- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V , class IdxMap>
18713
- constexpr resize_t<N, V > permute(const V & v, IdxMap&& idxmap);
18712
+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M , class IdxMap>
18713
+ constexpr resize_t<N, M > permute(const M & v, IdxMap&& idxmap);
18714
18714
\end{itemdecl}
18715
18715
18716
18716
\begin{itemdescr}
18765
18765
\begin{itemdecl}
18766
18766
template<@\exposconcept{simd-vec-type}@ V, @\exposconcept{simd-integral}@ I>
18767
18767
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18768
- template<@\exposconcept{simd-mask-type}@ V , @\exposconcept{simd-integral}@ I>
18769
- constexpr resize_t<I::size(), V > permute(const V & v, const I& indices);
18768
+ template<@\exposconcept{simd-mask-type}@ M , @\exposconcept{simd-integral}@ I>
18769
+ constexpr resize_t<I::size(), M > permute(const M & v, const I& indices);
18770
18770
\end{itemdecl}
18771
18771
18772
18772
\begin{itemdescr}
18786
18786
\begin{itemdecl}
18787
18787
template<@\exposconcept{simd-vec-type}@ V>
18788
18788
constexpr V compress(const V& v, const typename V::mask_type& selector);
18789
- template<@\exposconcept{simd-mask-type}@ V >
18790
- constexpr V compress(const V & v, const type_identity_t<V >& selector);
18789
+ template<@\exposconcept{simd-mask-type}@ M >
18790
+ constexpr M compress(const M & v, const type_identity_t<M >& selector);
18791
18791
\end{itemdecl}
18792
18792
18793
18793
\begin{itemdescr}
18818
18818
template<@\exposconcept{simd-vec-type}@ V>
18819
18819
constexpr V compress(const V& v, const typename V::mask_type& selector,
18820
18820
const typename V::value_type& fill_value);
18821
- template<@\exposconcept{simd-mask-type}@ V >
18822
- constexpr V compress(const V & v, const type_identity_t<V >& selector,
18821
+ template<@\exposconcept{simd-mask-type}@ M >
18822
+ constexpr M compress(const M & v, const type_identity_t<M >& selector,
18823
18823
const typename V::value_type& fill_value);
18824
18824
\end{itemdecl}
18825
18825
18846
18846
\begin{itemdecl}
18847
18847
template<@\exposconcept{simd-vec-type}@ V>
18848
18848
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
18849
- template<@\exposconcept{simd-mask-type}@ V >
18850
- constexpr V expand(const V & v, const type_identity_t<V >& selector, const V & original = {});
18849
+ template<@\exposconcept{simd-mask-type}@ M >
18850
+ constexpr M expand(const M & v, const type_identity_t<M >& selector, const M & original = {});
18851
18851
\end{itemdecl}
18852
18852
18853
18853
\begin{itemdescr}
0 commit comments