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
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 concept @\defexposconceptnc{simd-integral}@ = // \expos
1623816238
1623916239template<class V>
1624016240 concept @\defexposconceptnc{simd-complex}@ = // \expos
16241- @\exposconcept{simd-type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
16241+ @\exposconcept{simd-vec- type}@<V> && @\libconcept{same_as}@<typename V::value_type, complex<@\exposid{simd-complex-value-type}@<V>>>;
1624216242
1624316243template<class... Ts>
1624416244 concept @\defexposconceptnc{math-floating-point}@ = // \expos
@@ -16605,30 +16605,30 @@
1660516605 static constexpr @\exposid{simd-size-type}@ zero_element = @\impdefx{value of \tcode{simd::zero_element}}@;
1660616606 static constexpr @\exposid{simd-size-type}@ uninit_element = @\impdefx{value of \tcode{simd::uninit_element}}@;
1660716607
16608- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
16608+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec- type}@ V, class IdxMap>
1660916609 constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1661016610 template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1661116611 constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1661216612
1661316613 // \ref{simd.permute.dynamic}, Permute by dynamic index
16614- template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
16614+ template<@\exposconcept{simd-vec- type}@ V, @\exposconcept{simd-integral}@ I>
1661516615 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1661616616 template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1661716617 constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1661816618
1661916619 // \ref{simd.permute.mask}, Permute by active mask bits
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 template<@\exposconcept{simd-mask-type}@ M>
1662316623 constexpr M compress(const M& v, const type_identity_t<M>& selector);
16624- template<@\exposconcept{simd-type}@ V>
16624+ template<@\exposconcept{simd-vec- type}@ V>
1662516625 constexpr V compress(const V& v, const typename V::mask_type& selector,
1662616626 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,
1662916629 const typename V::value_type& fill_value);
1663016630
16631- template<@\exposconcept{simd-type}@ V>
16631+ template<@\exposconcept{simd-vec- type}@ V>
1663216632 constexpr V expand(const V& v, const typename V::mask_type& selector,
1663316633 const V& original = {});
1663416634 template<@\exposconcept{simd-mask-type}@ M>
@@ -16659,13 +16659,13 @@
1665916659 partial_gather_from(R&& in, const typename I::mask_type& mask,
1666016660 const I& indices, flags<Flags...> f = {});
1666116661
16662- template<@\exposconcept{simd-type}@ V,
16662+ template<@\exposconcept{simd-vec- type}@ V,
1666316663 ranges::@\libconcept{contiguous_range}@ R,
1666416664 @\exposconcept{simd-integral}@ I, class... Flags>
1666516665 requires ranges::@\libconcept{sized_range}@<R>
1666616666 constexpr void
1666716667 unchecked_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
16668- template<@\exposconcept{simd-type}@ V,
16668+ template<@\exposconcept{simd-vec- type}@ V,
1666916669 ranges::@\libconcept{contiguous_range}@ R,
1667016670 @\exposconcept{simd-integral}@ I, class... Flags>
1667116671 requires ranges::@\libconcept{sized_range}@<R>
@@ -16674,13 +16674,13 @@
1667416674 const typename I::mask_type& mask,
1667516675 const I& indices, flags<Flags...> f = {});
1667616676
16677- template<@\exposconcept{simd-type}@ V,
16677+ template<@\exposconcept{simd-vec- type}@ V,
1667816678 ranges::@\libconcept{contiguous_range}@ R,
1667916679 @\exposconcept{simd-integral}@ I, class... Flags>
1668016680 requires ranges::@\libconcept{sized_range}@<R>
1668116681 constexpr void
1668216682 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
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>
@@ -16940,36 +16940,36 @@
1694016940 sph_neumann(const rebind_t<unsigned, @\exposid{deduced-simd-t}@<V>>& n, const V& x);
1694116941
1694216942 // \ref{simd.bit}, Bit manipulation
16943- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
16944- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16945- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
16943+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
16944+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
16945+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1694616946
16947- template<@\exposconcept{simd-type}@ V>
16947+ template<@\exposconcept{simd-vec- type}@ V>
1694816948 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1694916949
16950- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16950+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1695116951 constexpr V0 rotl(const V0& v, const V1& s) noexcept;
16952- template<@\exposconcept{simd-type}@ V>
16952+ template<@\exposconcept{simd-vec- type}@ V>
1695316953 constexpr V rotl(const V& v, int s) noexcept;
1695416954
16955- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
16955+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1695616956 constexpr V0 rotr(const V0& v, const V1& s) noexcept;
16957- template<@\exposconcept{simd-type}@ V>
16957+ template<@\exposconcept{simd-vec- type}@ V>
1695816958 constexpr V rotr(const V& v, int s) noexcept;
1695916959
16960- template<@\exposconcept{simd-type}@ V>
16960+ template<@\exposconcept{simd-vec- type}@ V>
1696116961 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
16962- template<@\exposconcept{simd-type}@ V>
16962+ template<@\exposconcept{simd-vec- type}@ V>
1696316963 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1696416964 countl_zero(const V& v) noexcept;
16965- template<@\exposconcept{simd-type}@ V>
16965+ template<@\exposconcept{simd-vec- type}@ V>
1696616966 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
16967- template<@\exposconcept{simd-type}@ V>
16967+ template<@\exposconcept{simd-vec- type}@ V>
1696816968 constexpr rebind_t<make_signed_t<typename V::value_type>, V>
1696916969 countr_zero(const V& v) noexcept;
16970- template<@\exposconcept{simd-type}@ V>
16970+ template<@\exposconcept{simd-vec- type}@ V>
1697116971 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
16972- template<@\exposconcept{simd-type}@ V>
16972+ template<@\exposconcept{simd-vec- type}@ V>
1697316973 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1697416974
1697516975 // \ref{simd.complex.math}, vec complex math
1869118691\rSec3[simd.permute.static]{\tcode{vec} static permute}
1869218692
1869318693\begin{itemdecl}
18694- template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-type}@ V, class IdxMap>
18694+ template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-vec- type}@ V, class IdxMap>
1869518695 constexpr resize_t<N, V> permute(const V& v, IdxMap&& idxmap);
1869618696template<@\exposid{simd-size-type}@ N = @\seebelow@, @\exposconcept{simd-mask-type}@ M, class IdxMap>
1869718697 constexpr resize_t<N, M> permute(const M& v, IdxMap&& idxmap);
1874118741\rSec3[simd.permute.dynamic]{\tcode{vec} dynamic permute}
1874218742
1874318743\begin{itemdecl}
18744- template<@\exposconcept{simd-type}@ V, @\exposconcept{simd-integral}@ I>
18744+ template<@\exposconcept{simd-vec- type}@ V, @\exposconcept{simd-integral}@ I>
1874518745 constexpr resize_t<I::size(), V> permute(const V& v, const I& indices);
1874618746template<@\exposconcept{simd-mask-type}@ M, @\exposconcept{simd-integral}@ I>
1874718747 constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);
1876218762\rSec3[simd.permute.mask]{\tcode{vec} mask permute}
1876318763
1876418764\begin{itemdecl}
18765- template<@\exposconcept{simd-type}@ V>
18765+ template<@\exposconcept{simd-vec- type}@ V>
1876618766 constexpr V compress(const V& v, const typename V::mask_type& selector);
1876718767template<@\exposconcept{simd-mask-type}@ M>
1876818768 constexpr M compress(const M& v, const type_identity_t<M>& selector);
1878918789\end{itemdescr}
1879018790
1879118791\begin{itemdecl}
18792- template<@\exposconcept{simd-type}@ V>
18792+ template<@\exposconcept{simd-vec- type}@ V>
1879318793 constexpr V compress(const V& v, const typename V::mask_type& selector,
1879418794 const typename V::value_type& fill_value);
1879518795template<@\exposconcept{simd-mask-type}@ M>
1881618816\end{itemdescr}
1881718817
1881818818\begin{itemdecl}
18819- template<@\exposconcept{simd-type}@ V>
18819+ template<@\exposconcept{simd-vec- type}@ V>
1882018820 constexpr V expand(const V& v, const typename V::mask_type& selector, const V& original = {});
1882118821template<@\exposconcept{simd-mask-type}@ M>
1882218822 constexpr M expand(const M& v, const type_identity_t<M>& selector, const M& original = {});
@@ -18934,11 +18934,11 @@
1893418934\end{itemdescr}
1893518935
1893618936\begin{itemdecl}
18937- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18937+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1893818938 requires ranges::@\libconcept{sized_range}@<R>
1893918939 constexpr void unchecked_scatter_to(const V& v, R&& out, const I& indices,
1894018940 flags<Flags...> f = {});
18941- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18941+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1894218942 requires ranges::@\libconcept{sized_range}@<R>
1894318943 constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask,
1894418944 const I& indices, flags<Flags...> f = {});
@@ -18960,11 +18960,11 @@
1896018960\end{itemdescr}
1896118961
1896218962\begin{itemdecl}
18963- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18963+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1896418964 requires ranges::@\libconcept{sized_range}@<R>
1896518965 constexpr void
1896618966 partial_scatter_to(const V& v, R&& out, const I& indices, flags<Flags...> f = {});
18967- template<@\exposconcept{simd-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
18967+ template<@\exposconcept{simd-vec- type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags>
1896818968 requires ranges::@\libconcept{sized_range}@<R>
1896918969 constexpr void
1897018970 partial_scatter_to(const V& v, R&& out,
1954719547\rSec3[simd.bit]{\tcode{basic_vec} bit library}
1954819548
1954919549\begin{itemdecl}
19550- template<@\exposconcept{simd-type}@ V> constexpr V byteswap(const V& v) noexcept;
19550+ template<@\exposconcept{simd-vec- type}@ V> constexpr V byteswap(const V& v) noexcept;
1955119551\end{itemdecl}
1955219552
1955319553\begin{itemdescr}
1956319563\end{itemdescr}
1956419564
1956519565\begin{itemdecl}
19566- template<@\exposconcept{simd-type}@ V> constexpr V bit_ceil(const V& v) noexcept;
19566+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_ceil(const V& v) noexcept;
1956719567\end{itemdecl}
1956819568
1956919569\begin{itemdescr}
1959019590\end{itemdescr}
1959119591
1959219592\begin{itemdecl}
19593- template<@\exposconcept{simd-type}@ V> constexpr V bit_floor(const V& v) noexcept;
19593+ template<@\exposconcept{simd-vec- type}@ V> constexpr V bit_floor(const V& v) noexcept;
1959419594\end{itemdecl}
1959519595
1959619596\begin{itemdescr}
1960619606\end{itemdescr}
1960719607
1960819608\begin{itemdecl}
19609- template<@\exposconcept{simd-type}@ V>
19609+ template<@\exposconcept{simd-vec- type}@ V>
1961019610 constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
1961119611\end{itemdecl}
1961219612
1962319623\end{itemdescr}
1962419624
1962519625\begin{itemdecl}
19626- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19626+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1962719627 constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
19628- template<@\exposconcept{simd-type}@ V0, @\exposconcept{simd-type}@ V1>
19628+ template<@\exposconcept{simd-vec- type}@ V0, @\exposconcept{simd-vec -type}@ V1>
1962919629 constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
1963019630\end{itemdecl}
1963119631
1965219652\end{itemdescr}
1965319653
1965419654\begin{itemdecl}
19655- template<@\exposconcept{simd-type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19656- template<@\exposconcept{simd-type}@ V> constexpr V rotr(const V& v, int s) noexcept;
19655+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotl(const V& v, int s) noexcept;
19656+ template<@\exposconcept{simd-vec- type}@ V> constexpr V rotr(const V& v, int s) noexcept;
1965719657\end{itemdecl}
1965819658
1965919659\begin{itemdescr}
@@ -19670,17 +19670,17 @@
1967019670\end{itemdescr}
1967119671
1967219672\begin{itemdecl}
19673- template<@\exposconcept{simd-type}@ V>
19673+ template<@\exposconcept{simd-vec- type}@ V>
1967419674 constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
19675- template<@\exposconcept{simd-type}@ V>
19675+ template<@\exposconcept{simd-vec- type}@ V>
1967619676 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
19677- template<@\exposconcept{simd-type}@ V>
19677+ template<@\exposconcept{simd-vec- type}@ V>
1967819678 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
19679- template<@\exposconcept{simd-type}@ V>
19679+ template<@\exposconcept{simd-vec- type}@ V>
1968019680 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
19681- template<@\exposconcept{simd-type}@ V>
19681+ template<@\exposconcept{simd-vec- type}@ V>
1968219682 constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
19683- template<@\exposconcept{simd-type}@ V>
19683+ template<@\exposconcept{simd-vec- type}@ V>
1968419684 constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
1968519685\end{itemdecl}
1968619686
0 commit comments