29 Numerics library [numerics]

29.10 Data-parallel types [simd]

29.10.8 basic_vec non-member operations [simd.nonmembers]

29.10.8.4 vec complex accessors [simd.complex.access]

constexpr auto real() const noexcept; constexpr auto imag() const noexcept;
Constraints: simd-complex<basic_vec> is modeled.
Returns: An object of type rebind_t<typename T​::​value_type, basic_vec> where the element is initialized to the result of cmplx-func(operator[](i)) for all i in the range [0, size()), where cmplx-func is the corresponding function from <complex>.
template<simd-floating-point V> constexpr void real(const V& v) noexcept; template<simd-floating-point V> constexpr void imag(const V& v) noexcept;
Constraints:
Effects: Replaces each element of the basic_vec object such that the element is replaced with value_type(v[i], operator[](i).imag()) or value_type(operator[](i).real(), v[i]) for real and imag respectively, for all i in the range [0, size()).