Files
2025-10-25 03:02:53 +03:00

1.5 KiB
Raw Permalink Blame History

[simd.permute.dynamic]

29 Numerics library [numerics]

29.10 Data-parallel types [simd]

29.10.8 basic_vec non-member operations [simd.nonmembers]

29.10.8.8 vec dynamic permute [simd.permute.dynamic]

🔗

template<[simd-vec-type](simd.expos#concept:simd-vec-type "29.10.2Exposition-only types, variables, and concepts[simd.expos]") V, [simd-integral](simd.expos#concept:simd-integral "29.10.2Exposition-only types, variables, and concepts[simd.expos]") I> constexpr resize_t<I::size(), V> permute(const V& v, const I& indices); template<[simd-mask-type](simd.expos#concept:simd-mask-type "29.10.2Exposition-only types, variables, and concepts[simd.expos]") M, [simd-integral](simd.expos#concept:simd-integral "29.10.2Exposition-only types, variables, and concepts[simd.expos]") I> constexpr resize_t<I::size(), M> permute(const M& v, const I& indices);

1

#

Preconditions: All values in indices are in the range [0, V::size()).

2

#

Returns: A data-parallel object where the ith element is initialized to the result of v[indices[i]] for all i in the range [0, I::size()).