1621616216template<class V, class T> using @\exposidnc{make-compatible-simd-t} = \seebelownc@; // \expos
1621716217
1621816218template<class V>
16219- concept @\defexposconceptnc{simd-type}@ = // \expos
16219+ concept @\defexposconceptnc{simd-vec- type}@ = // \expos
1622016220 @\libconcept{same_as}@<V, basic_vec<typename V::value_type, typename V::abi_type>> &&
1622116221 is_default_constructible_v<V>;
1622216222
@@ -16227,14 +16227,14 @@
1622716227
1622816228template<class V>
1622916229 concept @\defexposconceptnc{simd-floating-point}@ = // \expos
16230- @\exposconcept{simd-type}@<V> && @\libconcept{floating_point}@<typename V::value_type>;
16230+ @\exposconcept{simd-vec- type}@<V> && @\libconcept{floating_point}@<typename V::value_type>;
1623116231
1623216232template<class V>
1623316233 using @\exposidnc{simd-complex-value-type}@ = typename V::value_type::value_type; // \expos
1623416234
1623516235template<class V>
1623616236 concept @\defexposconceptnc{simd-complex}@ = // \expos
16237- @\exposconcept{simd-type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
16237+ @\exposconcept{simd-vec- type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
1623816238
1623916239template<class... Ts>
1624016240 concept @\defexposconceptnc{math-floating-point}@ = // \expos
@@ -16601,30 +16601,30 @@
1660116601 static constexpr @\exposid{simd-size-type}@ zero_element = @\impdefx{value of \tcode{simd::zero_element}}@;
1660216602 static constexpr @\exposid{simd-size-type}@ uninit_element = @\impdefx{value of \tcode{simd::uninit_element}}@;
1660316603
16604- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
16604+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec- type}@ V, class IdxMap>
1660516605 constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1660616606 template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1660716607 constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1660816608
1660916609 // \ref{simd.permute.dynamic}, Permute by dynamic index
16610- template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16610+ template<@\exposconcept{simd-vec- type}@ V, @\exposconcept{simd-integral}@ I>
1661116611 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1661216612 template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1661316613 constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1661416614
1661516615 // \ref{simd.permute.mask}, Permute by active mask bits
16616- template<@\exposconcept{simd-type}@ V>
16616+ template<@\exposconcept{simd-vec- type}@ V>
1661716617 constexpr V compress(const V& v, const typename V::mask_type& selector);
1661816618 template<@\exposconcept{simd-mask-type}@ M>
1661916619 constexpr M compress(const M& v, const type_identity_t<M>& selector);
16620- template<@\exposconcept{simd-type}@ V>
16620+ template<@\exposconcept{simd-vec- type}@ V>
1662116621 constexpr V compress(const V& v, const typename V::mask_type& selector,
1662216622 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,
1662516625 const typename V::value_type& fill_value);
1662616626
16627- template<@\exposconcept{simd-type}@ V>
16627+ template<@\exposconcept{simd-vec- type}@ V>
1662816628 constexpr V expand(const V& v, const typename V::mask_type& selector,
1662916629 const V& original = {});
1663016630 template<@\exposconcept{simd-mask-type}@ M>
@@ -16655,13 +16655,13 @@
1665516655 partial_gather_from(R&& in, const typename I::mask_type& mask,
1665616656 const I& indices, flags<Flags...> f = {});
1665716657
16658- template<@\exposconcept{simd-type}@ V,
16658+ template<@\exposconcept{simd-vec- type}@ V,
1665916659 ranges::@\libconcept{contiguous_range}@ R,
1666016660 @\exposconcept{simd-integral}@ I, class... Flags>
1666116661 requires ranges::@\libconcept{sized_range}@<R>
1666216662 constexpr void
1666316663 unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16664- template<@\exposconcept{simd-type}@ V,
16664+ template<@\exposconcept{simd-vec- type}@ V,
1666516665 ranges::@\libconcept{contiguous_range}@ R,
1666616666 @\exposconcept{simd-integral}@ I, class... Flags>
1666716667 requires ranges::@\libconcept{sized_range}@<R>
@@ -16670,13 +16670,13 @@
1667016670 const typename I::mask_type& mask,
1667116671 const I& indices, flags<Flags...> f = {});
1667216672
16673- template<@\exposconcept{simd-type}@ V,
16673+ template<@\exposconcept{simd-vec- type}@ V,
1667416674 ranges::@\libconcept{contiguous_range}@ R,
1667516675 @\exposconcept{simd-integral}@ I, class... Flags>
1667616676 requires ranges::@\libconcept{sized_range}@<R>
1667716677 constexpr void
1667816678 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16679- template<@\exposconcept{simd-type}@ V,
16679+ template<@\exposconcept{simd-vec- type}@ V,
1668016680 ranges::@\libconcept{contiguous_range}@ R,
1668116681 @\exposconcept{simd-integral}@ I, class... Flags>
1668216682 requires ranges::@\libconcept{sized_range}@<R>
@@ -16936,36 +16936,36 @@
1693616936 sph_neumann(const rebind_t<unsigned, @\exposid{deduced-simd-t}@<V>>& n, const V& x);
1693716937
1693816938 // \ref{simd.bit}, Bit manipulation
16939- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
16940- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16941- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
16939+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
16940+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16941+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1694216942
16943- template<@\exposconcept{simd-type}@ V>
16943+ template<@\exposconcept{simd-vec- type}@ V>
1694416944 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1694516945
16946- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16946+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1694716947 constexpr V0 rotl(const V0& v, const V1& s) noexcept;
16948- template<@\exposconcept{simd-type}@ V>
16948+ template<@\exposconcept{simd-vec- type}@ V>
1694916949 constexpr V rotl(const V& v, int s) noexcept;
1695016950
16951- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16951+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1695216952 constexpr V0 rotr(const V0& v, const V1& s) noexcept;
16953- template<@\exposconcept{simd-type}@ V>
16953+ template<@\exposconcept{simd-vec- type}@ V>
1695416954 constexpr V rotr(const V& v, int s) noexcept;
1695516955
16956- template<@\exposconcept{simd-type}@ V>
16956+ template<@\exposconcept{simd-vec- type}@ V>
1695716957 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
16958- template<@\exposconcept{simd-type}@ V>
16958+ template<@\exposconcept{simd-vec- type}@ V>
1695916959 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1696016960 countl_zero(const V& v) noexcept;
16961- template<@\exposconcept{simd-type}@ V>
16961+ template<@\exposconcept{simd-vec- type}@ V>
1696216962 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
16963- template<@\exposconcept{simd-type}@ V>
16963+ template<@\exposconcept{simd-vec- type}@ V>
1696416964 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1696516965 countr_zero(const V& v) noexcept;
16966- template<@\exposconcept{simd-type}@ V>
16966+ template<@\exposconcept{simd-vec- type}@ V>
1696716967 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
16968- template<@\exposconcept{simd-type}@ V>
16968+ template<@\exposconcept{simd-vec- type}@ V>
1696916969 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1697016970
1697116971 // \ref{simd.complex.math}, vec complex math
1868718687\rSec3[simd.permute.static]{\tcode{vec} static permute}
1868818688
1868918689\begin{itemdecl}
18690- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18690+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec- type}@ V, class IdxMap>
1869118691 constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1869218692template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1869318693 constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1873718737\rSec3[simd.permute.dynamic]{\tcode{vec} dynamic permute}
1873818738
1873918739\begin{itemdecl}
18740- template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18740+ template<@\exposconcept{simd-vec- type}@ V, @\exposconcept{simd-integral}@ I>
1874118741 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1874218742template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1874318743 constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1875818758\rSec3[simd.permute.mask]{\tcode{vec} mask permute}
1875918759
1876018760\begin{itemdecl}
18761- template<@\exposconcept{simd-type}@ V>
18761+ template<@\exposconcept{simd-vec- type}@ V>
1876218762 constexpr V compress(const V& v, const typename V::mask_type& selector);
1876318763template<@\exposconcept{simd-mask-type}@ M>
1876418764 constexpr M compress(const M& v, const type_identity_t<M>& selector);
1878518785\end{itemdescr}
1878618786
1878718787\begin{itemdecl}
18788- template<@\exposconcept{simd-type}@ V>
18788+ template<@\exposconcept{simd-vec- type}@ V>
1878918789 constexpr V compress(const V& v, const typename V::mask_type& selector,
1879018790 const typename V::value_type& fill_value);
1879118791template<@\exposconcept{simd-mask-type}@ M>
1881218812\end{itemdescr}
1881318813
1881418814\begin{itemdecl}
18815- template<@\exposconcept{simd-type}@ V>
18815+ template<@\exposconcept{simd-vec- type}@ V>
1881618816 constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1881718817template<@\exposconcept{simd-mask-type}@ M>
1881818818 constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
@@ -18925,11 +18925,11 @@
1892518925\end{itemdescr}
1892618926
1892718927\begin{itemdecl}
18928- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18928+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1892918929 requires ranges::@\libconcept{sized_range}@<R>
1893018930 constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
1893118931 flags<Flags...> f = {});
18932- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18932+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1893318933 requires ranges::@\libconcept{sized_range}@<R>
1893418934 constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1893518935 const I& indices, flags<Flags...> f = {});
@@ -18951,11 +18951,11 @@
1895118951\end{itemdescr}
1895218952
1895318953\begin{itemdecl}
18954- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18954+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1895518955 requires ranges::@\libconcept{sized_range}@<R>
1895618956 constexpr void
1895718957 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18958- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18958+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1895918959 requires ranges::@\libconcept{sized_range}@<R>
1896018960 constexpr void
1896118961 partial_scatter_to(const V& v, R&& out,
1953819538\rSec3[simd.bit]{\tcode{basic_vec} bit library}
1953919539
1954019540\begin{itemdecl}
19541- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
19541+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
1954219542\end{itemdecl}
1954319543
1954419544\begin{itemdescr}
1955419554\end{itemdescr}
1955519555
1955619556\begin{itemdecl}
19557- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
19557+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
1955819558\end{itemdecl}
1955919559
1956019560\begin{itemdescr}
1958119581\end{itemdescr}
1958219582
1958319583\begin{itemdecl}
19584- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
19584+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1958519585\end{itemdecl}
1958619586
1958719587\begin{itemdescr}
1959719597\end{itemdescr}
1959819598
1959919599\begin{itemdecl}
19600- template<@\exposconcept{simd-type}@ V>
19600+ template<@\exposconcept{simd-vec- type}@ V>
1960119601 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1960219602\end{itemdecl}
1960319603
1961419614\end{itemdescr}
1961519615
1961619616\begin{itemdecl}
19617- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19617+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1961819618 constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
19619- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19619+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1962019620 constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
1962119621\end{itemdecl}
1962219622
1964319643\end{itemdescr}
1964419644
1964519645\begin{itemdecl}
19646- template<@\exposconcept{simd-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19647- template<@\exposconcept{simd-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
19646+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19647+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotr(const V& v, int s) noexcept;
1964819648\end{itemdecl}
1964919649
1965019650\begin{itemdescr}
@@ -19661,17 +19661,17 @@
1966119661\end{itemdescr}
1966219662
1966319663\begin{itemdecl}
19664- template<@\exposconcept{simd-type}@ V>
19664+ template<@\exposconcept{simd-vec- type}@ V>
1966519665 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
19666- template<@\exposconcept{simd-type}@ V>
19666+ template<@\exposconcept{simd-vec- type}@ V>
1966719667 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
19668- template<@\exposconcept{simd-type}@ V>
19668+ template<@\exposconcept{simd-vec- type}@ V>
1966919669 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
19670- template<@\exposconcept{simd-type}@ V>
19670+ template<@\exposconcept{simd-vec- type}@ V>
1967119671 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
19672- template<@\exposconcept{simd-type}@ V>
19672+ template<@\exposconcept{simd-vec- type}@ V>
1967319673 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
19674- template<@\exposconcept{simd-type}@ V>
19674+ template<@\exposconcept{simd-vec- type}@ V>
1967519675 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1967619676\end{itemdecl}
1967719677
0 commit comments