Skip to content

Commit 3dfe52a

Browse files
mattkretztkoeppe
authored andcommitted
[simd] Rename \exposconcept simd-type to simd-vec-type
The name simd-type could refer to both basic_vec and basic_mask specializations. simd-vec-type is clearer and more consistent with the simd-mask-type concept.
1 parent 0e75ee5 commit 3dfe52a

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed

source/numerics.tex

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -16232,7 +16232,7 @@
1623216232
template<class V, class T> using @\exposidnc{make-compatible-simd-t} = \seebelownc@; // \expos
1623316233

1623416234
template<class V>
16235-
concept @\defexposconceptnc{simd-type}@ = // \expos
16235+
concept @\defexposconceptnc{simd-vec-type}@ = // \expos
1623616236
@\libconcept{same_as}@<V, basic_simd<typename V::value_type, typename V::abi_type>> &&
1623716237
is_default_constructible_v<V>;
1623816238

@@ -16243,7 +16243,7 @@
1624316243

1624416244
template<class V>
1624516245
concept @\defexposconceptnc{simd-floating-point}@ = // \expos
16246-
@\exposconcept{simd-type}@<V> && @\libconcept{floating_point}@<typename V::value_type>;
16246+
@\exposconcept{simd-vec-type}@<V> && @\libconcept{floating_point}@<typename V::value_type>;
1624716247

1624816248
template<class V>
1624916249
concept @\defexposconceptnc{simd-integral}@ = // \expos
@@ -16254,7 +16254,7 @@
1625416254

1625516255
template<class V>
1625616256
concept @\defexposconceptnc{simd-complex}@ = // \expos
16257-
@\exposconcept{simd-type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
16257+
@\exposconcept{simd-vec-type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
1625816258

1625916259
template<class... Ts>
1626016260
concept @\defexposconceptnc{math-floating-point}@ = // \expos
@@ -16626,30 +16626,30 @@
1662616626
static constexpr @\exposid{simd-size-type}@ zero_element = @\impdefx{value of \tcode{simd::zero_element}}@;
1662716627
static constexpr @\exposid{simd-size-type}@ uninit_element = @\impdefx{value of \tcode{simd::uninit_element}}@;
1662816628

16629-
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
16629+
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec-type}@ V, class IdxMap>
1663016630
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1663116631
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1663216632
constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1663316633

1663416634
// \ref{simd.permute.dynamic}, Permute by dynamic index
16635-
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16635+
template<@\exposconcept{simd-vec-type}@ V, @\exposconcept{simd-integral}@ I>
1663616636
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1663716637
template<@\exposconcept{simd-mask-type}@ V, @\exposconcept{simd-integral}@ I>
1663816638
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1663916639

1664016640
// \ref{simd.permute.mask}, Permute by active mask bits
16641-
template<@\exposconcept{simd-type}@ V>
16641+
template<@\exposconcept{simd-vec-type}@ V>
1664216642
constexpr V compress(const V& v, const typename V::mask_type& selector);
1664316643
template<@\exposconcept{simd-mask-type}@ V>
1664416644
constexpr V compress(const V& v, const type_identity_t<V>& selector);
16645-
template<@\exposconcept{simd-type}@ V>
16645+
template<@\exposconcept{simd-vec-type}@ V>
1664616646
constexpr V compress(const V& v, const typename V::mask_type& selector,
1664716647
const typename V::value_type& fill_value);
1664816648
template<@\exposconcept{simd-mask-type}@ V>
1664916649
constexpr V compress(const V& v, const type_identity_t<V>& selector,
1665016650
const typename V::value_type& fill_value);
1665116651

16652-
template<@\exposconcept{simd-type}@ V>
16652+
template<@\exposconcept{simd-vec-type}@ V>
1665316653
constexpr V expand(const V& v, const typename V::mask_type& selector,
1665416654
const V& original = {});
1665516655
template<@\exposconcept{simd-mask-type}@ V>
@@ -16683,23 +16683,23 @@
1668316683
partial_gather_from(R&& in, const typename I::mask_type& mask,
1668416684
const I& indices, flags<Flags...> f = {});
1668516685

16686-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
16686+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1668716687
requires ranges::@\libconcept{sized_range}@<R>
1668816688
constexpr void
1668916689
unchecked_scatter_to(const V& v, R&& out,
1669016690
const I& indices, flags<Flags...> f = {});
16691-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
16691+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1669216692
requires ranges::@\libconcept{sized_range}@<R>
1669316693
constexpr void
1669416694
unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1669516695
const I& indices, flags<Flags...> f = {});
1669616696

16697-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
16697+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1669816698
requires ranges::@\libconcept{sized_range}@<R>
1669916699
constexpr void
1670016700
partial_scatter_to(const V& v, R&& out,
1670116701
const I& indices, flags<Flags...> f = {});
16702-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
16702+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1670316703
requires ranges::@\libconcept{sized_range}@<R>
1670416704
constexpr void
1670516705
partial_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
@@ -16956,36 +16956,36 @@
1695616956
sph_neumann(const rebind_t<unsigned, @\exposid{deduced-simd-t}@<V>>& n, const V& x);
1695716957

1695816958
// \ref{simd.bit}, Bit manipulation
16959-
template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
16960-
template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16961-
template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
16959+
template<@\exposconcept{simd-vec-type}@ V> constexpr V byteswap(const V& v) noexcept;
16960+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16961+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_floor(const V& v) noexcept;
1696216962

16963-
template<@\exposconcept{simd-type}@ V>
16963+
template<@\exposconcept{simd-vec-type}@ V>
1696416964
constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1696516965

16966-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16966+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1696716967
constexpr V0 rotl(const V0& v, const V1& s) noexcept;
16968-
template<@\exposconcept{simd-type}@ V>
16968+
template<@\exposconcept{simd-vec-type}@ V>
1696916969
constexpr V rotl(const V& v, int s) noexcept;
1697016970

16971-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16971+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1697216972
constexpr V0 rotr(const V0& v, const V1& s) noexcept;
16973-
template<@\exposconcept{simd-type}@ V>
16973+
template<@\exposconcept{simd-vec-type}@ V>
1697416974
constexpr V rotr(const V& v, int s) noexcept;
1697516975

16976-
template<@\exposconcept{simd-type}@ V>
16976+
template<@\exposconcept{simd-vec-type}@ V>
1697716977
constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
16978-
template<@\exposconcept{simd-type}@ V>
16978+
template<@\exposconcept{simd-vec-type}@ V>
1697916979
constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1698016980
countl_zero(const V& v) noexcept;
16981-
template<@\exposconcept{simd-type}@ V>
16981+
template<@\exposconcept{simd-vec-type}@ V>
1698216982
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
16983-
template<@\exposconcept{simd-type}@ V>
16983+
template<@\exposconcept{simd-vec-type}@ V>
1698416984
constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1698516985
countr_zero(const V& v) noexcept;
16986-
template<@\exposconcept{simd-type}@ V>
16986+
template<@\exposconcept{simd-vec-type}@ V>
1698716987
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
16988-
template<@\exposconcept{simd-type}@ V>
16988+
template<@\exposconcept{simd-vec-type}@ V>
1698916989
constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1699016990

1699116991
// \ref{simd.complex.math}, simd complex math
@@ -18709,7 +18709,7 @@
1870918709
\rSec3[simd.permute.static]{\tcode{simd} static permute}
1871018710

1871118711
\begin{itemdecl}
18712-
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18712+
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec-type}@ V, class IdxMap>
1871318713
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1871418714

1871518715
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V, class IdxMap>
@@ -18766,7 +18766,7 @@
1876618766
\rSec3[simd.permute.dynamic]{\tcode{simd} dynamic permute}
1876718767

1876818768
\begin{itemdecl}
18769-
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18769+
template<@\exposconcept{simd-vec-type}@ V, @\exposconcept{simd-integral}@ I>
1877018770
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1877118771

1877218772
template<@\exposconcept{simd-mask-type}@ V, @\exposconcept{simd-integral}@ I>
@@ -18788,7 +18788,7 @@
1878818788
\rSec3[simd.permute.mask]{\tcode{simd} mask permute}
1878918789

1879018790
\begin{itemdecl}
18791-
template<@\exposconcept{simd-type}@ V>
18791+
template<@\exposconcept{simd-vec-type}@ V>
1879218792
constexpr V compress(const V& v, const typename V::mask_type& selector);
1879318793

1879418794
template<@\exposconcept{simd-mask-type}@ V>
@@ -18820,7 +18820,7 @@
1882018820
\end{itemdescr}
1882118821

1882218822
\begin{itemdecl}
18823-
template<@\exposconcept{simd-type}@ V>
18823+
template<@\exposconcept{simd-vec-type}@ V>
1882418824
constexpr V compress(const V& v, const typename V::mask_type& selector,
1882518825
const typename V::value_type& fill_value);
1882618826

@@ -18850,7 +18850,7 @@
1885018850
\end{itemdescr}
1885118851

1885218852
\begin{itemdecl}
18853-
template<@\exposconcept{simd-type}@ V>
18853+
template<@\exposconcept{simd-vec-type}@ V>
1885418854
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1885518855

1885618856
template<@\exposconcept{simd-mask-type}@ V>
@@ -18985,12 +18985,12 @@
1898518985
\end{itemdescr}
1898618986

1898718987
\begin{itemdecl}
18988-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18988+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898918989
requires ranges::@\libconcept{sized_range}@<R>
1899018990
constexpr void unchecked_scatter_to(const V& v, R&& out,
1899118991
const I& indices, flags<Flags...> f = {});
1899218992

18993-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18993+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1899418994
requires ranges::@\libconcept{sized_range}@<R>
1899518995
constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1899618996
const I& indices, flags<Flags...> f = {});
@@ -19012,12 +19012,12 @@
1901219012
\end{itemdescr}
1901319013

1901419014
\begin{itemdecl}
19015-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
19015+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1901619016
requires ranges::@\libconcept{sized_range}@<R>
1901719017
constexpr void partial_scatter_to(const V& v, R&& out,
1901819018
const I& indices, flags<Flags...> f = {});
1901919019

19020-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
19020+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1902119021
requires ranges::@\libconcept{sized_range}@<R>
1902219022
constexpr void partial_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1902319023
const I& indices, flags<Flags...> f = {});
@@ -19602,7 +19602,7 @@
1960219602
\rSec3[simd.bit]{\tcode{basic_simd} bit library}
1960319603

1960419604
\begin{itemdecl}
19605-
template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
19605+
template<@\exposconcept{simd-vec-type}@ V> constexpr V byteswap(const V& v) noexcept;
1960619606
\end{itemdecl}
1960719607

1960819608
\begin{itemdescr}
@@ -19618,7 +19618,7 @@
1961819618
\end{itemdescr}
1961919619

1962019620
\begin{itemdecl}
19621-
template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
19621+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
1962219622
\end{itemdecl}
1962319623

1962419624
\begin{itemdescr}
@@ -19645,7 +19645,7 @@
1964519645
\end{itemdescr}
1964619646

1964719647
\begin{itemdecl}
19648-
template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
19648+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_floor(const V& v) noexcept;
1964919649
\end{itemdecl}
1965019650

1965119651
\begin{itemdescr}
@@ -19661,7 +19661,7 @@
1966119661
\end{itemdescr}
1966219662

1966319663
\begin{itemdecl}
19664-
template<@\exposconcept{simd-type}@ V>
19664+
template<@\exposconcept{simd-vec-type}@ V>
1966519665
constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1966619666
\end{itemdecl}
1966719667

@@ -19678,9 +19678,9 @@
1967819678
\end{itemdescr}
1967919679

1968019680
\begin{itemdecl}
19681-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19681+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1968219682
constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
19683-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19683+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1968419684
constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
1968519685
\end{itemdecl}
1968619686

@@ -19707,8 +19707,8 @@
1970719707
\end{itemdescr}
1970819708

1970919709
\begin{itemdecl}
19710-
template<@\exposconcept{simd-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19711-
template<@\exposconcept{simd-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
19710+
template<@\exposconcept{simd-vec-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19711+
template<@\exposconcept{simd-vec-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
1971219712
\end{itemdecl}
1971319713

1971419714
\begin{itemdescr}
@@ -19725,17 +19725,17 @@
1972519725
\end{itemdescr}
1972619726

1972719727
\begin{itemdecl}
19728-
template<@\exposconcept{simd-type}@ V>
19728+
template<@\exposconcept{simd-vec-type}@ V>
1972919729
constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
19730-
template<@\exposconcept{simd-type}@ V>
19730+
template<@\exposconcept{simd-vec-type}@ V>
1973119731
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
19732-
template<@\exposconcept{simd-type}@ V>
19732+
template<@\exposconcept{simd-vec-type}@ V>
1973319733
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
19734-
template<@\exposconcept{simd-type}@ V>
19734+
template<@\exposconcept{simd-vec-type}@ V>
1973519735
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
19736-
template<@\exposconcept{simd-type}@ V>
19736+
template<@\exposconcept{simd-vec-type}@ V>
1973719737
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
19738-
template<@\exposconcept{simd-type}@ V>
19738+
template<@\exposconcept{simd-vec-type}@ V>
1973919739
constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1974019740
\end{itemdecl}
1974119741

0 commit comments

Comments
 (0)