Skip to content

Commit 1d11a15

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 77548e4 commit 1d11a15

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_vec<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}@ M, @\exposconcept{simd-integral}@ I>
1663816638
constexpr resize_t<I::size(), M> permute(const M& 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}@ M>
1664416644
constexpr M compress(const M& v, const type_identity_t<M>& 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}@ M>
1664916649
constexpr M compress(const M& v, const type_identity_t<M>& 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}@ M>
@@ -16680,13 +16680,13 @@
1668016680
partial_gather_from(R&& in, const typename I::mask_type& mask,
1668116681
const I& indices, flags<Flags...> f = {});
1668216682

16683-
template<@\exposconcept{simd-type}@ V,
16683+
template<@\exposconcept{simd-vec-type}@ V,
1668416684
ranges::@\libconcept{contiguous_range}@ R,
1668516685
@\exposconcept{simd-integral}@ I, class... Flags>
1668616686
requires ranges::@\libconcept{sized_range}@<R>
1668716687
constexpr void
1668816688
unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16689-
template<@\exposconcept{simd-type}@ V,
16689+
template<@\exposconcept{simd-vec-type}@ V,
1669016690
ranges::@\libconcept{contiguous_range}@ R,
1669116691
@\exposconcept{simd-integral}@ I, class... Flags>
1669216692
requires ranges::@\libconcept{sized_range}@<R>
@@ -16695,13 +16695,13 @@
1669516695
const typename I::mask_type& mask,
1669616696
const I& indices, flags<Flags...> f = {});
1669716697

16698-
template<@\exposconcept{simd-type}@ V,
16698+
template<@\exposconcept{simd-vec-type}@ V,
1669916699
ranges::@\libconcept{contiguous_range}@ R,
1670016700
@\exposconcept{simd-integral}@ I, class... Flags>
1670116701
requires ranges::@\libconcept{sized_range}@<R>
1670216702
constexpr void
1670316703
partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16704-
template<@\exposconcept{simd-type}@ V,
16704+
template<@\exposconcept{simd-vec-type}@ V,
1670516705
ranges::@\libconcept{contiguous_range}@ R,
1670616706
@\exposconcept{simd-integral}@ I, class... Flags>
1670716707
requires ranges::@\libconcept{sized_range}@<R>
@@ -16961,36 +16961,36 @@
1696116961
sph_neumann(const rebind_t<unsigned, @\exposid{deduced-simd-t}@<V>>& n, const V& x);
1696216962

1696316963
// \ref{simd.bit}, Bit manipulation
16964-
template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
16965-
template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16966-
template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
16964+
template<@\exposconcept{simd-vec-type}@ V> constexpr V byteswap(const V& v) noexcept;
16965+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16966+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_floor(const V& v) noexcept;
1696716967

16968-
template<@\exposconcept{simd-type}@ V>
16968+
template<@\exposconcept{simd-vec-type}@ V>
1696916969
constexpr typename V::mask_type has_single_bit(const V& v) 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 rotl(const V0& v, const V1& s) noexcept;
16973-
template<@\exposconcept{simd-type}@ V>
16973+
template<@\exposconcept{simd-vec-type}@ V>
1697416974
constexpr V rotl(const V& v, int s) noexcept;
1697516975

16976-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16976+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1697716977
constexpr V0 rotr(const V0& v, const V1& s) noexcept;
16978-
template<@\exposconcept{simd-type}@ V>
16978+
template<@\exposconcept{simd-vec-type}@ V>
1697916979
constexpr V rotr(const V& v, int s) noexcept;
1698016980

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> bit_width(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
countl_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> countl_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>
1699016990
countr_zero(const V& v) noexcept;
16991-
template<@\exposconcept{simd-type}@ V>
16991+
template<@\exposconcept{simd-vec-type}@ V>
1699216992
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
16993-
template<@\exposconcept{simd-type}@ V>
16993+
template<@\exposconcept{simd-vec-type}@ V>
1699416994
constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1699516995

1699616996
// \ref{simd.complex.math}, vec complex math
@@ -18710,7 +18710,7 @@
1871018710
\rSec3[simd.permute.static]{\tcode{vec} static permute}
1871118711

1871218712
\begin{itemdecl}
18713-
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18713+
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec-type}@ V, class IdxMap>
1871418714
constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1871518715
template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1871618716
constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
@@ -18760,7 +18760,7 @@
1876018760
\rSec3[simd.permute.dynamic]{\tcode{vec} dynamic permute}
1876118761

1876218762
\begin{itemdecl}
18763-
template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18763+
template<@\exposconcept{simd-vec-type}@ V, @\exposconcept{simd-integral}@ I>
1876418764
constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1876518765
template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1876618766
constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
@@ -18781,7 +18781,7 @@
1878118781
\rSec3[simd.permute.mask]{\tcode{vec} mask permute}
1878218782

1878318783
\begin{itemdecl}
18784-
template<@\exposconcept{simd-type}@ V>
18784+
template<@\exposconcept{simd-vec-type}@ V>
1878518785
constexpr V compress(const V& v, const typename V::mask_type& selector);
1878618786
template<@\exposconcept{simd-mask-type}@ M>
1878718787
constexpr M compress(const M& v, const type_identity_t<M>& selector);
@@ -18808,7 +18808,7 @@
1880818808
\end{itemdescr}
1880918809

1881018810
\begin{itemdecl}
18811-
template<@\exposconcept{simd-type}@ V>
18811+
template<@\exposconcept{simd-vec-type}@ V>
1881218812
constexpr V compress(const V& v, const typename V::mask_type& selector,
1881318813
const typename V::value_type& fill_value);
1881418814
template<@\exposconcept{simd-mask-type}@ M>
@@ -18835,7 +18835,7 @@
1883518835
\end{itemdescr}
1883618836

1883718837
\begin{itemdecl}
18838-
template<@\exposconcept{simd-type}@ V>
18838+
template<@\exposconcept{simd-vec-type}@ V>
1883918839
constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1884018840
template<@\exposconcept{simd-mask-type}@ M>
1884118841
constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
@@ -18953,11 +18953,11 @@
1895318953
\end{itemdescr}
1895418954

1895518955
\begin{itemdecl}
18956-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18956+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1895718957
requires ranges::@\libconcept{sized_range}@<R>
1895818958
constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
1895918959
flags<Flags...> f = {});
18960-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18960+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1896118961
requires ranges::@\libconcept{sized_range}@<R>
1896218962
constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1896318963
const I& indices, flags<Flags...> f = {});
@@ -18979,11 +18979,11 @@
1897918979
\end{itemdescr}
1898018980

1898118981
\begin{itemdecl}
18982-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18982+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898318983
requires ranges::@\libconcept{sized_range}@<R>
1898418984
constexpr void
1898518985
partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18986-
template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18986+
template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898718987
requires ranges::@\libconcept{sized_range}@<R>
1898818988
constexpr void
1898918989
partial_scatter_to(const V& v, R&& out,
@@ -19566,7 +19566,7 @@
1956619566
\rSec3[simd.bit]{\tcode{basic_vec} bit library}
1956719567

1956819568
\begin{itemdecl}
19569-
template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
19569+
template<@\exposconcept{simd-vec-type}@ V> constexpr V byteswap(const V& v) noexcept;
1957019570
\end{itemdecl}
1957119571

1957219572
\begin{itemdescr}
@@ -19582,7 +19582,7 @@
1958219582
\end{itemdescr}
1958319583

1958419584
\begin{itemdecl}
19585-
template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
19585+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
1958619586
\end{itemdecl}
1958719587

1958819588
\begin{itemdescr}
@@ -19609,7 +19609,7 @@
1960919609
\end{itemdescr}
1961019610

1961119611
\begin{itemdecl}
19612-
template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
19612+
template<@\exposconcept{simd-vec-type}@ V> constexpr V bit_floor(const V& v) noexcept;
1961319613
\end{itemdecl}
1961419614

1961519615
\begin{itemdescr}
@@ -19625,7 +19625,7 @@
1962519625
\end{itemdescr}
1962619626

1962719627
\begin{itemdecl}
19628-
template<@\exposconcept{simd-type}@ V>
19628+
template<@\exposconcept{simd-vec-type}@ V>
1962919629
constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1963019630
\end{itemdecl}
1963119631

@@ -19642,9 +19642,9 @@
1964219642
\end{itemdescr}
1964319643

1964419644
\begin{itemdecl}
19645-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19645+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1964619646
constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
19647-
template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19647+
template<@\exposconcept{simd-vec-type}@ V0, @\exposconcept{simd-vec-type}@ V1>
1964819648
constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
1964919649
\end{itemdecl}
1965019650

@@ -19671,8 +19671,8 @@
1967119671
\end{itemdescr}
1967219672

1967319673
\begin{itemdecl}
19674-
template<@\exposconcept{simd-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19675-
template<@\exposconcept{simd-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
19674+
template<@\exposconcept{simd-vec-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19675+
template<@\exposconcept{simd-vec-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
1967619676
\end{itemdecl}
1967719677

1967819678
\begin{itemdescr}
@@ -19689,17 +19689,17 @@
1968919689
\end{itemdescr}
1969019690

1969119691
\begin{itemdecl}
19692-
template<@\exposconcept{simd-type}@ V>
19692+
template<@\exposconcept{simd-vec-type}@ V>
1969319693
constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
19694-
template<@\exposconcept{simd-type}@ V>
19694+
template<@\exposconcept{simd-vec-type}@ V>
1969519695
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
19696-
template<@\exposconcept{simd-type}@ V>
19696+
template<@\exposconcept{simd-vec-type}@ V>
1969719697
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
19698-
template<@\exposconcept{simd-type}@ V>
19698+
template<@\exposconcept{simd-vec-type}@ V>
1969919699
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
19700-
template<@\exposconcept{simd-type}@ V>
19700+
template<@\exposconcept{simd-vec-type}@ V>
1970119701
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
19702-
template<@\exposconcept{simd-type}@ V>
19702+
template<@\exposconcept{simd-vec-type}@ V>
1970319703
constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1970419704
\end{itemdecl}
1970519705

0 commit comments

Comments
 (0)