DPC++ Runtime
Runtime libraries for oneAPI DPC++
Collaboration diagram for Sycl_esimd_logical:

Enumerations

enum class  sycl::_V1::ext::intel::esimd::bfn_t : uint8_t { sycl::_V1::ext::intel::esimd::x = 0xAA , sycl::_V1::ext::intel::esimd::y = 0xCC , sycl::_V1::ext::intel::esimd::z = 0xF0 }
 This enum is used to encode all possible logical operations performed on the 3 input operands. More...
 

Functions

static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator~ (bfn_t x)
 
static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator| (bfn_t x, bfn_t y)
 
static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator& (bfn_t x, bfn_t y)
 
static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator^ (bfn_t x, bfn_t y)
 
template<bfn_t FuncControl, typename T , int N>
__ESIMD_API std::enable_if_t< std::is_integral_v< T >, sycl::ext::intel::esimd::simd< T, N > > sycl::_V1::ext::intel::esimd::bfn (sycl::ext::intel::esimd::simd< T, N > src0, sycl::ext::intel::esimd::simd< T, N > src1, sycl::ext::intel::esimd::simd< T, N > src2)
 Performs binary function computation with three vector operands. More...
 
template<bfn_t FuncControl, typename T >
ESIMD_NODEBUG ESIMD_INLINE std::enable_if_t< __ESIMD_DNS::is_esimd_scalar< T >::value &&std::is_integral_v< T >, T > sycl::_V1::ext::intel::esimd::bfn (T src0, T src1, T src2)
 Performs binary function computation with three scalar operands. More...
 

Detailed Description

Enumeration Type Documentation

◆ bfn_t

enum sycl::_V1::ext::intel::esimd::bfn_t : uint8_t
strong

This enum is used to encode all possible logical operations performed on the 3 input operands.

It is used as a template argument of the bfn() function. Example: d = bfn<~bfn_t::x & ~bfn_t::y & ~bfn_t::z>(s0, s1, s2);

Enumerator

Definition at line 1624 of file math.hpp.

Function Documentation

◆ bfn() [1/2]

template<bfn_t FuncControl, typename T , int N>
__ESIMD_API std::enable_if_t<std::is_integral_v<T>, sycl::ext::intel::esimd::simd<T, N> > sycl::_V1::ext::intel::esimd::bfn ( sycl::ext::intel::esimd::simd< T, N >  src0,
sycl::ext::intel::esimd::simd< T, N >  src1,
sycl::ext::intel::esimd::simd< T, N >  src2 
)

Performs binary function computation with three vector operands.

Template Parameters
FuncControlboolean function control expressed with bfn_t enum values.
Ttype of the input vector element.
Nsize of the input vector.
Parameters
s0First boolean function argument.
s1Second boolean function argument.
s2Third boolean function argument.

Definition at line 1663 of file math.hpp.

References sycl::_V1::ext::intel::esimd::src0, and sycl::_V1::ext::intel::esimd::src1.

◆ bfn() [2/2]

template<bfn_t FuncControl, typename T >
ESIMD_NODEBUG ESIMD_INLINE std::enable_if_t< __ESIMD_DNS::is_esimd_scalar<T>::value && std::is_integral_v<T>, T> sycl::_V1::ext::intel::esimd::bfn ( src0,
src1,
src2 
)

Performs binary function computation with three scalar operands.

Template Parameters
FuncControlboolean function control expressed with bfn_t enum values.
Ttype of the input vector element.
Parameters
s0First boolean function argument.
s1Second boolean function argument.
s2Third boolean function argument.

Definition at line 1706 of file math.hpp.

References sycl::_V1::ext::intel::esimd::src0, and sycl::_V1::ext::intel::esimd::src1.

◆ operator&()

static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator& ( bfn_t  x,
bfn_t  y 
)
staticconstexpr

Definition at line 1639 of file math.hpp.

◆ operator^()

static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator^ ( bfn_t  x,
bfn_t  y 
)
staticconstexpr

Definition at line 1646 of file math.hpp.

◆ operator|()

static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator| ( bfn_t  x,
bfn_t  y 
)
staticconstexpr

Definition at line 1632 of file math.hpp.

◆ operator~()

static constexpr bfn_t sycl::_V1::ext::intel::esimd::operator~ ( bfn_t  x)
staticconstexpr

Definition at line 1626 of file math.hpp.