@@ -16619,14 +16619,14 @@
1661916619 constexpr V compress(const V& v, const type_identity_t<V>& 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}@ V>
1662416624 constexpr V compress(const V& v, const type_identity_t<V>& 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}@ V>
1663116631 constexpr V expand(const V& v, const type_identity_t<V>& selector, const V& original = {});
1663216632
1826118261\pnum
1826218262\returns
1826318263\tcode{\placeholdernc{GENERALIZED_SUM}(binary_op, vec<T, 1>(x[0]), $\ldots$,
18264- vec<T, 1>(x[x.size() - 1])\brk{})[ 0]}\iref{numerics.defns}.
18264+ vec<T, 1>(x[x.size() - 1]))[ \brk{}0]}\iref{numerics.defns}.
1826518265
1826618266\pnum
1826718267\throws
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}@ V, class IdxMap>
18694- constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18693+ constexpr resize_t<N, V> permute(const V& 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}@ V, @\exposconcept{simd-integral}@ I>
1874518743 constexpr resize_t<I::size(), V> permute(const V& 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}@ V>
1876718764 constexpr V compress(const V& v, const type_identity_t<V>& 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}@ V>
1879618792 constexpr V compress(const V& v, const type_identity_t<V>& selector,
1879718793 const typename V::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}@ V>
1882418818 constexpr V expand(const V& v, const type_identity_t<V>& selector, const V& 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 = {});
@@ -18876,17 +18867,14 @@
1887618867\pnum
1887718868\remarks
1887818869The default argument for template parameter \tcode{V} is
18879- \tcode{vec<ranges::range_value_t<R>, I::size()>}.
18870+ \tcode{vec<ranges::range_value_t<R>, I::\brk{} size()>}.
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 = {});
@@ -18938,22 +18926,18 @@
1893818926\pnum
1893918927\remarks
1894018928The default argument for template parameter \tcode{V} is
18941- \tcode{vec<ranges::range_value_t<R>, I::size()>}.
18929+ \tcode{vec<ranges::range_value_t<R>, I::\brk{} size()>}.
1894218930\end{itemdescr}
1894318931
1894418932\begin{itemdecl}
18945- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18946- @\exposconcept{simd-integral}@ I, class... Flags>
18933+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894718934 requires ranges::@\libconcept{sized_range}@<R>
18948- constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18949-
18950- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18951- @\exposconcept{simd-integral}@ I, class... Flags>
18935+ constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
18936+ flags<Flags...> f = {});
18937+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1895218938 requires ranges::@\libconcept{sized_range}@<R>
18953- constexpr void
18954- unchecked_scatter_to(const V& v, R&& out,
18955- const typename I::mask_type& mask,
18956- const I& indices, flags<Flags...> f = {});
18939+ constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
18940+ const I& indices, flags<Flags...> f = {});
1895718941\end{itemdecl}
1895818942
1895918943\begin{itemdescr}
@@ -18972,15 +18956,11 @@
1897218956\end{itemdescr}
1897318957
1897418958\begin{itemdecl}
18975- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18976- @\exposconcept{simd-integral}@ I, class... Flags>
18959+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1897718960 requires ranges::@\libconcept{sized_range}@<R>
1897818961 constexpr void
1897918962 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18980-
18981- template<@\exposconcept{simd-type}@ V,
18982- ranges::@\libconcept{contiguous_range}@ R,
18983- @\exposconcept{simd-integral}@ I, class... Flags>
18963+ template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898418964 requires ranges::@\libconcept{sized_range}@<R>
1898518965 constexpr void
1898618966 partial_scatter_to(const V& v, R&& out,
1905019030 \item
1905119031 For the second overload,
1905219032 \tcode{T} is an enabled specialization of \tcode{basic_mask}.
19053- If \tcode{basic_mask<\exposid{mask-element -size}<T>, Abi>::size() \% T::size()}
19033+ If \tcode{basic_mask<\exposid{mask-el\-e\-ment -size}<T>, Abi>::size() \% T::size()}
1905419034 is not \tcode{0}, then
19055- \tcode{resize_t<\brk{}basic_mask<\brk{}\exposid{mask-element -size}<T>,
19035+ \tcode{resize_t<\brk{}basic_mask<\brk{}\exposid{mask-el\-e\-ment -size}<T>,
1905619036 Abi>::size() \% T::size(), T>} is valid and denotes a type.
1905719037\end{itemize}
1905819038
0 commit comments