1623216232template<class V, class T> using @\exposidnc{make-compatible-simd-t} = \seebelownc@; // \expos
1623316233
1623416234template<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
1624316243
1624416244template<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
1624816248template<class V>
1624916249 concept @\defexposconceptnc{simd-integral}@ = // \expos
1625416254
1625516255template<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
1625916259template<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>
@@ -16681,13 +16681,13 @@
1668116681 partial_gather_from(R&& in, const typename I::mask_type& mask,
1668216682 const I& indices, flags<Flags...> f = {});
1668316683
16684- template<@\exposconcept{simd-type}@ V,
16684+ template<@\exposconcept{simd-vec- type}@ V,
1668516685 ranges::@\libconcept{contiguous_range}@ R,
1668616686 @\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, const I& indices, flags<Flags...> f = {});
16690- template<@\exposconcept{simd-type}@ V,
16690+ template<@\exposconcept{simd-vec- type}@ V,
1669116691 ranges::@\libconcept{contiguous_range}@ R,
1669216692 @\exposconcept{simd-integral}@ I, class... Flags>
1669316693 requires ranges::@\libconcept{sized_range}@<R>
@@ -16696,13 +16696,13 @@
1669616696 const typename I::mask_type& mask,
1669716697 const I& indices, flags<Flags...> f = {});
1669816698
16699- template<@\exposconcept{simd-type}@ V,
16699+ template<@\exposconcept{simd-vec- type}@ V,
1670016700 ranges::@\libconcept{contiguous_range}@ R,
1670116701 @\exposconcept{simd-integral}@ I, class... Flags>
1670216702 requires ranges::@\libconcept{sized_range}@<R>
1670316703 constexpr void
1670416704 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16705- template<@\exposconcept{simd-type}@ V,
16705+ template<@\exposconcept{simd-vec- type}@ V,
1670616706 ranges::@\libconcept{contiguous_range}@ R,
1670716707 @\exposconcept{simd-integral}@ I, class... Flags>
1670816708 requires ranges::@\libconcept{sized_range}@<R>
@@ -16962,36 +16962,36 @@
1696216962 sph_neumann(const rebind_t<unsigned, @\exposid{deduced-simd-t}@<V>>& n, const V& x);
1696316963
1696416964 // \ref{simd.bit}, Bit manipulation
16965- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
16966- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16967- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
16965+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
16966+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16967+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1696816968
16969- template<@\exposconcept{simd-type}@ V>
16969+ template<@\exposconcept{simd-vec- type}@ V>
1697016970 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1697116971
16972- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16972+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1697316973 constexpr V0 rotl(const V0& v, const V1& s) noexcept;
16974- template<@\exposconcept{simd-type}@ V>
16974+ template<@\exposconcept{simd-vec- type}@ V>
1697516975 constexpr V rotl(const V& v, int s) noexcept;
1697616976
16977- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16977+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1697816978 constexpr V0 rotr(const V0& v, const V1& s) noexcept;
16979- template<@\exposconcept{simd-type}@ V>
16979+ template<@\exposconcept{simd-vec- type}@ V>
1698016980 constexpr V rotr(const V& v, int s) noexcept;
1698116981
16982- template<@\exposconcept{simd-type}@ V>
16982+ template<@\exposconcept{simd-vec- type}@ V>
1698316983 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
16984- template<@\exposconcept{simd-type}@ V>
16984+ template<@\exposconcept{simd-vec- type}@ V>
1698516985 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1698616986 countl_zero(const V& v) noexcept;
16987- template<@\exposconcept{simd-type}@ V>
16987+ template<@\exposconcept{simd-vec- type}@ V>
1698816988 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
16989- template<@\exposconcept{simd-type}@ V>
16989+ template<@\exposconcept{simd-vec- type}@ V>
1699016990 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1699116991 countr_zero(const V& v) noexcept;
16992- template<@\exposconcept{simd-type}@ V>
16992+ template<@\exposconcept{simd-vec- type}@ V>
1699316993 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
16994- template<@\exposconcept{simd-type}@ V>
16994+ template<@\exposconcept{simd-vec- type}@ V>
1699516995 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1699616996
1699716997 // \ref{simd.complex.math}, simd complex math
1871518715\rSec3[simd.permute.static]{\tcode{simd} static permute}
1871618716
1871718717\begin{itemdecl}
18718- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18718+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec- type}@ V, class IdxMap>
1871918719 constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1872018720
1872118721template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ V, class IdxMap>
1876818768\rSec3[simd.permute.dynamic]{\tcode{simd} dynamic permute}
1876918769
1877018770\begin{itemdecl}
18771- template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18771+ template<@\exposconcept{simd-vec- type}@ V, @\exposconcept{simd-integral}@ I>
1877218772 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1877318773
1877418774template<@\exposconcept{simd-mask-type}@ V, @\exposconcept{simd-integral}@ I>
1879018790\rSec3[simd.permute.mask]{\tcode{simd} mask permute}
1879118791
1879218792\begin{itemdecl}
18793- template<@\exposconcept{simd-type}@ V>
18793+ template<@\exposconcept{simd-vec- type}@ V>
1879418794 constexpr V compress(const V& v, const typename V::mask_type& selector);
1879518795
1879618796template<@\exposconcept{simd-mask-type}@ V>
1881818818\end{itemdescr}
1881918819
1882018820\begin{itemdecl}
18821- template<@\exposconcept{simd-type}@ V>
18821+ template<@\exposconcept{simd-vec- type}@ V>
1882218822 constexpr V compress(const V& v, const typename V::mask_type& selector,
1882318823 const typename V::value_type& fill_value);
1882418824
1884618846\end{itemdescr}
1884718847
1884818848\begin{itemdecl}
18849- template<@\exposconcept{simd-type}@ V>
18849+ template<@\exposconcept{simd-vec- type}@ V>
1885018850 constexpr V expand(const V& v, const typename V::mask_type& selector,
1885118851 const V& original = {});
1885218852
@@ -18972,12 +18972,12 @@
1897218972\end{itemdescr}
1897318973
1897418974\begin{itemdecl}
18975- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18975+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1897618976 requires ranges::@\libconcept{sized_range}@<R>
1897718977 constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
1897818978 flags<Flags...> f = {});
1897918979
18980- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18980+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1898118981 requires ranges::@\libconcept{sized_range}@<R>
1898218982 constexpr void
1898318983 unchecked_scatter_to(const V& v, R&& out,
@@ -19001,12 +19001,12 @@
1900119001\end{itemdescr}
1900219002
1900319003\begin{itemdecl}
19004- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
19004+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1900519005 requires ranges::@\libconcept{sized_range}@<R>
1900619006 constexpr void
1900719007 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
1900819008
19009- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
19009+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1901019010 requires ranges::@\libconcept{sized_range}@<R>
1901119011 constexpr void
1901219012 partial_scatter_to(const V& v, R&& out,
1958919589\rSec3[simd.bit]{\tcode{basic_simd} bit library}
1959019590
1959119591\begin{itemdecl}
19592- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
19592+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
1959319593\end{itemdecl}
1959419594
1959519595\begin{itemdescr}
1960519605\end{itemdescr}
1960619606
1960719607\begin{itemdecl}
19608- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
19608+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
1960919609\end{itemdecl}
1961019610
1961119611\begin{itemdescr}
1963219632\end{itemdescr}
1963319633
1963419634\begin{itemdecl}
19635- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
19635+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1963619636\end{itemdecl}
1963719637
1963819638\begin{itemdescr}
1964819648\end{itemdescr}
1964919649
1965019650\begin{itemdecl}
19651- template<@\exposconcept{simd-type}@ V>
19651+ template<@\exposconcept{simd-vec- type}@ V>
1965219652 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1965319653\end{itemdecl}
1965419654
1966519665\end{itemdescr}
1966619666
1966719667\begin{itemdecl}
19668- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19668+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1966919669 constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
19670- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19670+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1967119671 constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
1967219672\end{itemdecl}
1967319673
1969419694\end{itemdescr}
1969519695
1969619696\begin{itemdecl}
19697- template<@\exposconcept{simd-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19698- template<@\exposconcept{simd-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
19697+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19698+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotr(const V& v, int s) noexcept;
1969919699\end{itemdecl}
1970019700
1970119701\begin{itemdescr}
@@ -19712,17 +19712,17 @@
1971219712\end{itemdescr}
1971319713
1971419714\begin{itemdecl}
19715- template<@\exposconcept{simd-type}@ V>
19715+ template<@\exposconcept{simd-vec- type}@ V>
1971619716 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
19717- template<@\exposconcept{simd-type}@ V>
19717+ template<@\exposconcept{simd-vec- type}@ V>
1971819718 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
19719- template<@\exposconcept{simd-type}@ V>
19719+ template<@\exposconcept{simd-vec- type}@ V>
1972019720 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
19721- template<@\exposconcept{simd-type}@ V>
19721+ template<@\exposconcept{simd-vec- type}@ V>
1972219722 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
19723- template<@\exposconcept{simd-type}@ V>
19723+ template<@\exposconcept{simd-vec- type}@ V>
1972419724 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
19725- template<@\exposconcept{simd-type}@ V>
19725+ template<@\exposconcept{simd-vec- type}@ V>
1972619726 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1972719727\end{itemdecl}
1972819728
0 commit comments