Skip to content

Class compound_type_traits

class compound_type_traits<kfr::vec_shape<T, N>> simd

template <typename T, size_t N>
struct compound_type_traits<kfr::vec_shape<T, N>> { … }

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

using rebind = kfr::vec_shape<U, N>

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

template <typename T, size_t N>
struct compound_type_traits<kfr::vec<T, N>> { … }

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

using rebind = kfr::vec<U, N>

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)

static constexpr subtype at(const std::complex<T>& value, size_t index) { … }

Returns the real ( index == 0) or imaginary ( index == 1) part of value.

Parameters
value The complex value to access.
index 0 for the real part, 1 for the imaginary part.
Returns
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

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.