E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
SIMD related types

Detailed Description

Types and functions wrappers for SIMD registers and related operations

Classes

struct  eve::fixed< Cardinal >
 SIMD register cardinal type. More...
 
struct  eve::logical< T >
 Wrapper for SIMD compatible logical types. More...
 
struct  eve::logical< wide< Type, Cardinal > >
 Wrapper for SIMD registers holding logical types with compile-time size. More...
 
struct  eve::wide< Type, Cardinal >
 Wrapper for SIMD registers. More...
 
struct  eve::top_bits< Logical >
 The cheapest to get bitset for simd logical. More...
 
struct  eve::pattern_t< I >
 Shuffling pattern. More...
 

Functions

template<arithmetic_scalar_value T, arithmetic_scalar_value U, typename Cardinal >
auto eve::operator== (logical< wide< T, Cardinal > > a, logical< wide< U, Cardinal > > b) noexcept -> decltype(is_equal(a, b))
 Element-wise equality comparison of two eve::logical.
 
template<arithmetic_scalar_value T, arithmetic_scalar_value U, typename Cardinal >
auto eve::operator!= (logical< wide< T, Cardinal > > a, logical< wide< U, Cardinal > > b) noexcept -> decltype(is_not_equal(a, b))
 Element-wise inequality comparison of two eve::logical.
 

Variables

constexpr std::ptrdiff_t eve::na_ = -1
 Tag for zeroing swizzle index.
 
constexpr std::ptrdiff_t eve::we_ = -2
 Tag for indicating to a shuffle that the value doesn't matter.
 
template<std::ptrdiff_t... I>
constexpr auto eve::pattern = pattern_t<I...>{}
 Generate a shuffling pattern.