Class compound_type_traits¶
class compound_type_traits<kfr::vec_shape<T, N>> simd¶
compound_type_traits specialization for vec_shape<T, N> .
variable width ¶
constexpr static size_t width = N Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::width
Declared at simd/vec.hpp:2106
variable deep_width ¶
constexpr static size_t deep_width = width * compound_type_traits<T>::width Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::deep_width
Declared at simd/vec.hpp:2107
typedef subtype ¶
using subtype = T Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::subtype
Declared at simd/vec.hpp:2108
typedef deep_subtype ¶
using deep_subtype = kfr::deep_subtype<T> Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::deep_subtype
Declared at simd/vec.hpp:2109
variable is_scalar ¶
constexpr static bool is_scalar = false Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::is_scalar
Declared at simd/vec.hpp:2110
variable depth ¶
constexpr static size_t depth = kfr::compound_type_traits<T>::depth + 1 Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::depth
Declared at simd/vec.hpp:2111
typedef rebind ¶
Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::rebind
Declared at simd/vec.hpp:2114
typedef deep_rebind ¶
using deep_rebind = kfr::vec_shape<typename compound_type_traits<subtype>::template deep_rebind<U>, N> Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>::deep_rebind
Declared at simd/vec.hpp:2116
Fully qualified name: kfr::compound_type_traits<kfr::vec_shape<T, N>>
Declared at simd/vec.hpp:2104
Class compound_type_traits¶
class compound_type_traits<kfr::vec<T, N>> simd¶
compound_type_traits specialization for vec<T, N> .
typedef subtype ¶
using subtype = T Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::subtype
Declared at simd/vec.hpp:2125
typedef deep_subtype ¶
using deep_subtype = kfr::deep_subtype<T> Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::deep_subtype
Declared at simd/vec.hpp:2126
variable width ¶
constexpr static size_t width = N Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::width
Declared at simd/vec.hpp:2127
variable deep_width ¶
constexpr static size_t deep_width = width * compound_type_traits<T>::width Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::deep_width
Declared at simd/vec.hpp:2128
variable is_scalar ¶
constexpr static bool is_scalar = false Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::is_scalar
Declared at simd/vec.hpp:2129
variable depth ¶
constexpr static size_t depth = kfr::compound_type_traits<T>::depth + 1 Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::depth
Declared at simd/vec.hpp:2130
typedef rebind ¶
Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::rebind
Declared at simd/vec.hpp:2132
typedef deep_rebind ¶
using deep_rebind = kfr::vec<typename compound_type_traits<subtype>::template deep_rebind<U>, N> Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::deep_rebind
Declared at simd/vec.hpp:2134
function at(const kfr::vec<T, N> &, size_t) ¶
Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>::at(const kfr::vec<T, N> &, size_t)
Declared at simd/vec.hpp:2136
Fully qualified name: kfr::compound_type_traits<kfr::vec<T, N>>
Declared at simd/vec.hpp:2123
Class compound_type_traits¶
class compound_type_traits<std::complex<T>> simd¶
template <typename T>
struct compound_type_traits<std::complex<T>> { … } Traits specialization for std::complex<T> enabling KFR's compound-type machinery.
variable width ¶
constexpr static size_t width = 2 Number of immediate sub-elements (real and imaginary).
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::width
Declared at simd/complex.hpp:48
variable deep_width ¶
constexpr static size_t deep_width = width * compound_type_traits<T>::width Width after fully recursing into the subtype.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::deep_width
Declared at simd/complex.hpp:50
typedef subtype ¶
using subtype = T Scalar component type of the complex value.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::subtype
Declared at simd/complex.hpp:52
typedef deep_subtype ¶
using deep_subtype = kfr::deep_subtype<T> Deepest scalar component type after full recursion.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::deep_subtype
Declared at simd/complex.hpp:54
variable is_scalar ¶
constexpr static bool is_scalar = false because a complex value is not a scalar.
false
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::is_scalar
Declared at simd/complex.hpp:56
variable depth ¶
constexpr static size_t depth = kfr::compound_type_traits<T>::depth + 1 Recursion depth of the compound type.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::depth
Declared at simd/complex.hpp:58
typedef rebind ¶
using rebind = std::complex<U> Rebinds the complex to hold values of type
U.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::rebind
Declared at simd/complex.hpp:61
typedef deep_rebind ¶
using deep_rebind = std::complex<typename compound_type_traits<subtype>::template deep_rebind<U>> Rebinds the complex to hold values of the deep-rebound subtype of
U.
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::deep_rebind
Declared at simd/complex.hpp:64
function at(const std::complex<T> &, size_t) ¶
Returns the real ( index == 0) or imaginary ( index == 1) part of value.
| value | The complex value to access. |
| index | 0 for the real part, 1 for the imaginary part. |
| The requested scalar component. |
Fully qualified name: kfr::compound_type_traits<std::complex<T>>::at(const std::complex<T> &, size_t)
Declared at simd/complex.hpp:72
Fully qualified name: kfr::compound_type_traits<std::complex<T>>
Declared at simd/complex.hpp:45