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

Detailed Description

SIMD related types.

Types and functions wrappers for SIMD registers and related operations

Namespaces

namespace  eve::_

Classes

struct  eve::logical< T >
 Wrapper for SIMD compatible logical types. More...
struct  eve::logical< wide< Type, Width > >
 Wrapper for SIMD registers holding logical types with compile-time size. More...
struct  eve::wide< Type, Width >
 Wrapper for SIMD registers. More...
struct  eve::top_bits< Logical >
 The cheapest to get bitset for simd logical. More...
struct  eve::lanes_t< Width >
 SIMD register width type. More...
struct  eve::pattern_t< I >
 Shuffling pattern. More...
struct  eve::float16_t
 IEEE 754 binary16 floating-point type. More...

Functions

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

Variables

template<width_type Width>
constexpr width_type eve::fixed = Width
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.

Variable Documentation

◆ fixed

template<width_type Width>
width_type eve::fixed = Width
inlineconstexpr

Deprecated spelling of a width. Pass the width itself: wide<T, 4> rather than wide<T, fixed<4>>.