E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
SIMD Concepts

Concepts

concept  eve::wide_cardinal
 concept to determine if this is cardinal type of a wide
 
concept  eve::irregular_predicate
 std::predicate but doesn't require regularity
 
concept  eve::conditional_expr
 Specifies that a type is a Conditional Expression.
 
concept  eve::relative_conditional_expr
 Specifies that a type is a Conditional Expression using relative mask.
 
concept  eve::generator
 
concept  eve::plain_scalar_value
 Specify that a type represents a plain scalar value The concept plain_scalar_value<T> is satisfied if and only if the translation of T is an instance of any non-bool, non-long double, arithmetic types.
 
concept  eve::logical_scalar_value
 Specify that a type represents a logical scalar value The concept logical_scalar_value<T> is satisfied if and only if T is an instance of eve::logical and its contents satisfy eve::plain_scalar_value.
 
concept  eve::product_scalar_value
 Specify that a type represents a product type made of scalars The concept product_scalar_value<T> is satisfied if and only if T is a kumi::product_type containing only eve::plain_scalar_value or eve::logical_scalar_value.
 
concept  eve::arithmetic_scalar_value
 Specify that a type represents a type suitable for vectorization The concept arithmetic_scalar_value<T> is satisfied if and only if T can be used as a base type for eve::wide , i.e it's either satisfying eve::plain_scalar_value or eve::product_scalar_value.
 
concept  eve::logical_simd_value
 Specify that a type represents a logical SIMD value. The concept logical_simd_value<T> is satisfied if and only if T is an instance of eve::logical and its contents satisfy eve::plain_simd_value.
 
concept  eve::value
 The concept value<T> is satisfied if and only if T satisfies either eve::scalar_value or eve::simd_value.
 
concept  eve::integral_value
 The concept integral_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies std::integral
 
concept  eve::signed_value
 The concept signed_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies std::is_signed
 
concept  eve::unsigned_value
 The concept unsigned_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies std::unsigned_integral
 
concept  eve::signed_integral_value
 The concept signed_integral_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies std::signed_integral
 
concept  eve::floating_value
 The concept floating_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies std::floating_point
 
concept  eve::logical_value
 The concept logical_value<T> is satisfied if and only if T satisfies eve::value and the element type satisfies is_logical_v.
 
concept  eve::plain_value
 The concept plain_value<T> is satisfied if and only if T satisfies eve::plain_simd_value or eve::plain_scalar_value.
 
concept  eve::integral_scalar_value
 Specify that a type represents an integral scalar value. The concept integral_scalar_value<T> is satisfied if and only if T satisfies eve::arithmetic_scalar_value<T> and std::integral<T>.
 
concept  eve::signed_scalar_value
 Specify that a type represents a signed scalar value. The concept signed_scalar_value<T> is satisfied if and only if T satisfies eve::arithmetic_scalar_value<T> and std::integral<T>.
 
concept  eve::unsigned_scalar_value
 Specify that a type represents an unsigned scalar value. The concept unsigned_scalar_value<T> is satisfied if and only if T satisfies eve::arithmetic_scalar_value<T> and std::unsigned_integral<T>.
 
concept  eve::signed_integral_scalar_value
 Specify that a type represents an integral scalar value. The concept unsigned_scalar_value<T> is satisfied if and only if T satisfies eve::arithmetic_scalar_value<T> and std::signed_integral<T>.
 
concept  eve::floating_scalar_value
 Specify that a type represents a floating scalar value. The concept unsigned_scalar_value<T> is satisfied if and only if T satisfies eve::arithmetic_scalar_value<T> and std::floating_point<T>.
 
concept  eve::simd_value
 Specifies that a type is a SIMD type. The concept simd_value<T> is satisfied if and only if T satisfies either eve::arithmetic_simd_value or eve::logical_simd_value.
 
concept  eve::integral_simd_value
 Specifies that a type is a SIMD type with integral elements.
 
concept  eve::signed_simd_value
 Specifies that a type is a SIMD type with signed elements.
 
concept  eve::unsigned_simd_value
 Specifies that a type is a SIMD type with unsigned elements.
 
concept  eve::signed_integral_simd_value
 Specifies that a type is a SIMD type with signed integral elements.
 
concept  eve::floating_simd_value
 Specifies that a type is a SIMD type with floating elements.