@@ -16619,14 +16619,14 @@
1661916619 constexpr M compress(const M& v, const type_identity_t<M>& selector);
1662016620 template<@\exposconcept{simd-type}@ V>
1662116621 constexpr V compress(const V& v, const typename V::mask_type& selector,
16622- const typename V::value_type& fill_value);
16622+ const typename V::value_type& fill_value);
1662316623 template<@\exposconcept{simd-mask-type}@ M>
1662416624 constexpr M compress(const M& v, const type_identity_t<M>& selector,
16625- const typename V::value_type& fill_value);
16625+ const typename V::value_type& fill_value);
1662616626
1662716627 template<@\exposconcept{simd-type}@ V>
16628- constexpr V expand(const V& v, const typename V::mask_type& selector,
16629- const V& original = {});
16628+ constexpr V expand(const V& v, const typename V::mask_type& selector,
16629+ const V& original = {});
1663016630 template<@\exposconcept{simd-mask-type}@ M>
1663116631 constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
1663216632
1868818688
1868918689\begin{itemdecl}
1869018690template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18691- constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18692-
18691+ constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1869318692template<@\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);
18693+ constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1869518694\end{itemdecl}
1869618695
1869718696\begin{itemdescr}
1871518714\pnum
1871618715\constraints
1871718716\tcode{integral<invoke_result_t<IdxMap\&, \exposid{simd-size-type}>> ||
18718- integral<invoke_result_t <IdxMap\&, \exposid{simd-size-type},
18717+ integral<invoke_re\-sult_t <IdxMap\&, \exposid{simd-size-type},
1871918718\exposid{simd-size-type}>>} is \tcode{true}.
1872018719
1872118720\pnum
1874018739\begin{itemdecl}
1874118740template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
1874218741 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18743-
1874418742template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1874518743 constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1874618744\end{itemdecl}
1876218760\begin{itemdecl}
1876318761template<@\exposconcept{simd-type}@ V>
1876418762 constexpr V compress(const V& v, const typename V::mask_type& selector);
18765-
1876618763template<@\exposconcept{simd-mask-type}@ M>
1876718764 constexpr M compress(const M& v, const type_identity_t<M>& selector);
1876818765\end{itemdecl}
1879118788template<@\exposconcept{simd-type}@ V>
1879218789 constexpr V compress(const V& v, const typename V::mask_type& selector,
1879318790 const typename V::value_type& fill_value);
18794-
1879518791template<@\exposconcept{simd-mask-type}@ M>
1879618792 constexpr M compress(const M& v, const type_identity_t<M>& selector,
1879718793 const typename M::value_type& fill_value);
1881718813
1881818814\begin{itemdecl}
1881918815template<@\exposconcept{simd-type}@ V>
18820- constexpr V expand(const V& v, const typename V::mask_type& selector,
18821- const V& original = {});
18822-
18816+ constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1882318817template<@\exposconcept{simd-mask-type}@ M>
1882418818 constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
1882518819\end{itemdecl}
@@ -18847,13 +18841,10 @@
1884718841\rSec3[simd.permute.memory]{\tcode{simd} memory permute}
1884818842
1884918843\begin{itemdecl}
18850- template<class V = @\seebelow@,
18851- ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18844+ template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1885218845 requires ranges::@\libconcept{sized_range}@<R>
1885318846 constexpr V unchecked_gather_from(R&& in, const I& indices, flags<Flags...> f = {});
18854-
18855- template<class V = @\seebelow@,
18856- ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18847+ template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1885718848 requires ranges::@\libconcept{sized_range}@<R>
1885818849 constexpr V unchecked_gather_from(R&& in, const typename I::mask_type& mask,
1885918850 const I& indices, flags<Flags...> f = {});
@@ -18880,13 +18871,10 @@
1888018871\end{itemdescr}
1888118872
1888218873\begin{itemdecl}
18883- template<class V = @\seebelow@,
18884- ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18874+ template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1888518875 requires ranges::@\libconcept{sized_range}@<R>
1888618876 constexpr V partial_gather_from(R&& in, const I& indices, flags<Flags...> f = {});
18887-
18888- template<class V = @\seebelow@,
18889- ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18877+ template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1889018878 requires ranges::@\libconcept{sized_range}@<R>
1889118879 constexpr V partial_gather_from(R&& in, const typename I::mask_type& mask,
1889218880 const I& indices, flags<Flags...> f = {});
1892518913\returns
1892618914A \tcode{basic_vec} or \tcode{basic_mask} object where the $i^\text{th}$
1892718915element is initialized to the result of \tcode{mask[$i$] \&\& indices[$i$] <
18928- ranges::size(in) ? static_cast<V::value_type>(ranges::data(in)[indices[$i$]]) :
18929- typename V::value_type()} for all $i$ in the range \range{0}{I::size()}.
18916+ ranges::size(in) ? static_cast<typename
18917+ V::value_type>(range::\brk{}data(in)[indices[$i$]]) : typename
18918+ V::value_type()} for all $i$ in the range \range{0}{I::size()}.
18919+ % FIXME: the above \tcode{...} is too long => Overfull \hbox. codeblock?
1893018920
1893118921\pnum
1893218922\remarks
@@ -18935,18 +18925,14 @@
1893518925\end{itemdescr}
1893618926
1893718927\begin{itemdecl}
18938- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18939- @\exposconcept{simd-integral}@ I, class... Flags>
18928+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894018929 requires ranges::@\libconcept{sized_range}@<R>
18941- constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18942-
18943- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18944- @\exposconcept{simd-integral}@ I, class... Flags>
18930+ constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
18931+ flags<Flags...> f = {});
18932+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894518933 requires ranges::@\libconcept{sized_range}@<R>
18946- constexpr void
18947- unchecked_scatter_to(const V& v, R&& out,
18948- const typename I::mask_type& mask,
18949- const I& indices, flags<Flags...> f = {});
18934+ constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
18935+ const I& indices, flags<Flags...> f = {});
1895018936\end{itemdecl}
1895118937
1895218938\begin{itemdescr}
@@ -18965,15 +18951,11 @@
1896518951\end{itemdescr}
1896618952
1896718953\begin{itemdecl}
18968- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18969- @\exposconcept{simd-integral}@ I, class... Flags>
18954+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1897018955 requires ranges::@\libconcept{sized_range}@<R>
1897118956 constexpr void
1897218957 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18973-
18974- template<@\exposconcept{simd-type}@ V,
18975- ranges::@\libconcept{contiguous_range}@ R,
18976- @\exposconcept{simd-integral}@ I, class... Flags>
18958+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1897718959 requires ranges::@\libconcept{sized_range}@<R>
1897818960 constexpr void
1897918961 partial_scatter_to(const V& v, R&& out,
0 commit comments