E.V.E  0.1-beta
Property of EVE types

Table of Contents

Type family

The type family is based on the value concept a type satisfies. One says a type is from the scalar family if it models eve::scalar_value and from the SIMD family if it models eve::simd_value.

Cardinal

The cardinal of a value is the number of elements inside said value. EVE provides the eve::cardinal type trait to generically retrieve the cardinal of any type.

For any scalar type T, eve::cardinal<T>::type evaluates to eve::scalar_cardinal. For any SIMD type T, eve::cardinal<T>::type evaluates to eve::fixed<N>, where N is the number of lanes of the underlying SIMD register.

Element type

For any value type, EVE defines its underlying element type as the basic type used to represent its value.

EVE provides the eve::element_type type trait to generically retrieve the element type of any type.

For any scalar type T, eve::element_type<T>::type evaluates to T. For any SIMD type eve::wide<T,N>, eve::element_type<eve::wide<T,N>>`::type evaluates to T. For any logical type eve::logical<T>, eve::element_type<eve::logical<tt><T>::type<tt> evaluates toeve::logical<tt><T>.