From f8f0842ff1697c3e396dfefde3956f3ea21c2e67 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 5 Oct 2025 19:59:38 +0200 Subject: [PATCH] [simd.syn] Compactify presentation of gather/scatter functions --- source/numerics.tex | 50 ++++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index 759683e2d7..108652579b 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -16662,53 +16662,39 @@ const M& original = {}); // \ref{simd.permute.memory}, permute to and from memory - template + template requires ranges::@\libconcept{sized_range}@ - constexpr V - unchecked_gather_from(R&& in, - const I& indices, flags f = {}); - template + constexpr V unchecked_gather_from(R&& in, const I& indices, flags f = {}); + template requires ranges::@\libconcept{sized_range}@ - constexpr V - unchecked_gather_from(R&& in, const typename I::mask_type& mask, - const I& indices, flags f = {}); + constexpr V unchecked_gather_from(R&& in, const typename I::mask_type& mask, + const I& indices, flags f = {}); - template + template requires ranges::@\libconcept{sized_range}@ - constexpr V - partial_gather_from(R&& in, - const I& indices, flags f = {}); - template + constexpr V partial_gather_from(R&& in, const I& indices, flags f = {}); + template requires ranges::@\libconcept{sized_range}@ - constexpr V - partial_gather_from(R&& in, const typename I::mask_type& mask, - const I& indices, flags f = {}); + constexpr V partial_gather_from(R&& in, const typename I::mask_type& mask, + const I& indices, flags f = {}); template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags> requires ranges::@\libconcept{sized_range}@ - constexpr void - unchecked_scatter_to(const V& v, R&& out, - const I& indices, flags f = {}); + constexpr void unchecked_scatter_to(const V& v, R&& out, + const I& indices, flags f = {}); template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags> requires ranges::@\libconcept{sized_range}@ - constexpr void - unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask, - const I& indices, flags f = {}); + constexpr void unchecked_scatter_to(const V& v, R&& out, const typename I::mask_type& mask, + const I& indices, flags f = {}); template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags> requires ranges::@\libconcept{sized_range}@ - constexpr void - partial_scatter_to(const V& v, R&& out, - const I& indices, flags f = {}); + constexpr void partial_scatter_to(const V& v, R&& out, + const I& indices, flags f = {}); template<@\exposconcept{simd-vec-type}@ V, ranges::@\libconcept{contiguous_range}@ R, @\exposconcept{simd-integral}@ I, class... Flags> requires ranges::@\libconcept{sized_range}@ - constexpr void - partial_scatter_to(const V& v, R&& out, const typename I::mask_type& mask, - const I& indices, flags f = {}); + constexpr void partial_scatter_to(const V& v, R&& out, const typename I::mask_type& mask, + const I& indices, flags f = {}); // \ref{simd.creation}, \tcode{basic_vec} and \tcode{basic_mask} creation template