Skip to content

Commit ac9bf5d

Browse files
committed
[simd.syn] [simd.permute.static] [simd.permute.dynamic] [simd.permute.mask] [simd.permute.memory] Improve indentation and linebreaks; fix overfull \hboxes
1 parent 433bba8 commit ac9bf5d

File tree

1 file changed

+24
-42
lines changed

1 file changed

+24
-42
lines changed

source/numerics.tex

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -16623,14 +16623,14 @@
1662316623
constexpr M compress(const M& v, const type_identity_t<M>& selector);
1662416624
template<@\exposconcept{simd-type}@ V>
1662516625
constexpr V compress(const V& v, const typename V::mask_type& selector,
16626-
const typename V::value_type& fill_value);
16626+
const typename V::value_type& fill_value);
1662716627
template<@\exposconcept{simd-mask-type}@ M>
1662816628
constexpr M compress(const M& v, const type_identity_t<M>& selector,
16629-
const typename V::value_type& fill_value);
16629+
const typename V::value_type& fill_value);
1663016630

1663116631
template<@\exposconcept{simd-type}@ V>
16632-
constexpr V expand(const V& v, const typename V::mask_type& selector,
16633-
const V& original = {});
16632+
constexpr V expand(const V& v, const typename V::mask_type& selector,
16633+
const V& original = {});
1663416634
template<@\exposconcept{simd-mask-type}@ M>
1663516635
constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
1663616636

@@ -18692,10 +18692,9 @@
1869218692

1869318693
\begin{itemdecl}
1869418694
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18695-
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
18696-
18695+
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1869718696
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);
18697+
constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1869918698
\end{itemdecl}
1870018699

1870118700
\begin{itemdescr}
@@ -18719,7 +18718,7 @@
1871918718
\pnum
1872018719
\constraints
1872118720
\tcode{integral<invoke_result_t<IdxMap\&, \exposid{simd-size-type}>> ||
18722-
integral<invoke_result_t<IdxMap\&, \exposid{simd-size-type},
18721+
integral<invoke_re\-sult_t<IdxMap\&, \exposid{simd-size-type},
1872318722
\exposid{simd-size-type}>>} is \tcode{true}.
1872418723

1872518724
\pnum
@@ -18744,7 +18743,6 @@
1874418743
\begin{itemdecl}
1874518744
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
1874618745
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
18747-
1874818746
template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1874918747
constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1875018748
\end{itemdecl}
@@ -18766,7 +18764,6 @@
1876618764
\begin{itemdecl}
1876718765
template<@\exposconcept{simd-type}@ V>
1876818766
constexpr V compress(const V& v, const typename V::mask_type& selector);
18769-
1877018767
template<@\exposconcept{simd-mask-type}@ M>
1877118768
constexpr M compress(const M& v, const type_identity_t<M>& selector);
1877218769
\end{itemdecl}
@@ -18795,7 +18792,6 @@
1879518792
template<@\exposconcept{simd-type}@ V>
1879618793
constexpr V compress(const V& v, const typename V::mask_type& selector,
1879718794
const typename V::value_type& fill_value);
18798-
1879918795
template<@\exposconcept{simd-mask-type}@ M>
1880018796
constexpr M compress(const M& v, const type_identity_t<M>& selector,
1880118797
const typename M::value_type& fill_value);
@@ -18821,9 +18817,7 @@
1882118817

1882218818
\begin{itemdecl}
1882318819
template<@\exposconcept{simd-type}@ V>
18824-
constexpr V expand(const V& v, const typename V::mask_type& selector,
18825-
const V& original = {});
18826-
18820+
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1882718821
template<@\exposconcept{simd-mask-type}@ M>
1882818822
constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
1882918823
\end{itemdecl}
@@ -18851,13 +18845,10 @@
1885118845
\rSec3[simd.permute.memory]{\tcode{simd} memory permute}
1885218846

1885318847
\begin{itemdecl}
18854-
template<class V = @\seebelow@,
18855-
ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18848+
template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1885618849
requires ranges::@\libconcept{sized_range}@<R>
1885718850
constexpr V unchecked_gather_from(R&& in, const I& indices, flags<Flags...> f = {});
18858-
18859-
template<class V = @\seebelow@,
18860-
ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18851+
template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1886118852
requires ranges::@\libconcept{sized_range}@<R>
1886218853
constexpr V unchecked_gather_from(R&& in, const typename I::mask_type& mask,
1886318854
const I& indices, flags<Flags...> f = {});
@@ -18884,13 +18875,10 @@
1888418875
\end{itemdescr}
1888518876

1888618877
\begin{itemdecl}
18887-
template<class V = @\seebelow@,
18888-
ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18878+
template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1888918879
requires ranges::@\libconcept{sized_range}@<R>
1889018880
constexpr V partial_gather_from(R&& in, const I& indices, flags<Flags...> f = {});
18891-
18892-
template<class V = @\seebelow@,
18893-
ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18881+
template<class V = @\seebelow@, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1889418882
requires ranges::@\libconcept{sized_range}@<R>
1889518883
constexpr V partial_gather_from(R&& in, const typename I::mask_type& mask,
1889618884
const I& indices, flags<Flags...> f = {});
@@ -18929,8 +18917,10 @@
1892918917
\returns
1893018918
A \tcode{basic_simd} or \tcode{basic_simd_mask} object where the $i^\text{th}$
1893118919
element is initialized to the result of \tcode{mask[$i$] \&\& indices[$i$] <
18932-
ranges::size(in) ? static_cast<V::value_type>(ranges::data(in)[indices[$i$]]) :
18933-
typename V::value_type()} for all $i$ in the range \range{0}{I::size()}.
18920+
ranges::size(in) ? static_cast<typename
18921+
V::value_type>(range::\brk{}data(in)[indices[$i$]]) : typename
18922+
V::value_type()} for all $i$ in the range \range{0}{I::size()}.
18923+
% FIXME: the above \tcode{...} is too long => Overfull \hbox. codeblock?
1893418924

1893518925
\pnum
1893618926
\remarks
@@ -18939,18 +18929,14 @@
1893918929
\end{itemdescr}
1894018930

1894118931
\begin{itemdecl}
18942-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18943-
@\exposconcept{simd-integral}@ I, class... Flags>
18932+
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894418933
requires ranges::@\libconcept{sized_range}@<R>
18945-
constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18946-
18947-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18948-
@\exposconcept{simd-integral}@ I, class... Flags>
18934+
constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
18935+
flags<Flags...> f = {});
18936+
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894918937
requires ranges::@\libconcept{sized_range}@<R>
18950-
constexpr void
18951-
unchecked_scatter_to(const V& v, R&& out,
18952-
const typename I::mask_type& mask,
18953-
const I& indices, flags<Flags...> f = {});
18938+
constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
18939+
const I& indices, flags<Flags...> f = {});
1895418940
\end{itemdecl}
1895518941

1895618942
\begin{itemdescr}
@@ -18969,15 +18955,11 @@
1896918955
\end{itemdescr}
1897018956

1897118957
\begin{itemdecl}
18972-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R,
18973-
@\exposconcept{simd-integral}@ I, class... Flags>
18958+
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1897418959
requires ranges::@\libconcept{sized_range}@<R>
1897518960
constexpr void
1897618961
partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18977-
18978-
template<@\exposconcept{simd-type}@ V,
18979-
ranges::@\libconcept{contiguous_range}@ R,
18980-
@\exposconcept{simd-integral}@ I, class... Flags>
18962+
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898118963
requires ranges::@\libconcept{sized_range}@<R>
1898218964
constexpr void
1898318965
partial_scatter_to(const V& v, R&& out,

0 commit comments

Comments
 (0)