DPC++ Runtime
Runtime libraries for oneAPI DPC++
Sycl_esimd_logical

Enumerations

enum  sycl::_V1::ext::intel::experimental::esimd::bfn_t : uint8_t { sycl::_V1::ext::intel::experimental::esimd::bfn_t::x = 0xAA, sycl::_V1::ext::intel::experimental::esimd::bfn_t::y = 0xCC, sycl::_V1::ext::intel::experimental::esimd::bfn_t::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::experimental::esimd::operator~ (bfn_t x)
 
static constexpr bfn_t sycl::_V1::ext::intel::experimental::esimd::operator| (bfn_t x, bfn_t y)
 
static constexpr bfn_t sycl::_V1::ext::intel::experimental::esimd::operator& (bfn_t x, bfn_t y)
 
static constexpr bfn_t sycl::_V1::ext::intel::experimental::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::experimental::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 >, Tsycl::_V1::ext::intel::experimental::esimd::bfn (T src0, T src1, T src2)
 Performs binary function computation with three scalar operands. More...
 

Detailed Description

Enumeration Type Documentation

◆ bfn_t

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 1811 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::experimental::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 1850 of file math.hpp.

◆ 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::experimental::esimd::bfn ( T  src0,
T  src1,
T  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 1893 of file math.hpp.

◆ operator&()

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

◆ operator^()

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

◆ operator|()

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

◆ operator~()

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

Definition at line 1813 of file math.hpp.

References sycl::_V1::ext::intel::experimental::esimd::x.