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...
 
template<bfn_t FuncControl, typename T , int N>
 sycl::_V1::ext::intel::experimental::esimd::__SYCL_DEPRECATED ("Please use sycl::ext::intel::esimd::bfn<FuncControl>(src0, src1, src2);") __ESIMD_API std
 Performs binary function computation with three vector operands. More...
 
template<bfn_t FuncControl, typename T >
 sycl::_V1::ext::intel::experimental::esimd::__SYCL_DEPRECATED ("Please use sycl::ext::intel::esimd::bfn<FuncControl>(src0, src1, src2);") __ESIMD_API std
 Performs binary function computation with three scalar operands. More...
 
ESIMD_INLINE uint64_t sycl::_V1::ext::intel::experimental::esimd::rdtsc ()
 rdtsc - get the value of timestamp counter. 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 1085 of file math.hpp.

Function Documentation

◆ __SYCL_DEPRECATED() [1/2]

template<bfn_t FuncControl, typename T , int N>
sycl::_V1::ext::intel::experimental::esimd::__SYCL_DEPRECATED ( "Please use sycl::ext::intel::esimd::bfn<FuncControl>(src0, src1, 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 1702 of file math.hpp.

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

◆ __SYCL_DEPRECATED() [2/2]

template<bfn_t FuncControl, typename T >
sycl::_V1::ext::intel::experimental::esimd::__SYCL_DEPRECATED ( "Please use sycl::ext::intel::esimd::bfn<FuncControl>(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 1718 of file math.hpp.

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

◆ 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 1124 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 1167 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 1100 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 1107 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 1093 of file math.hpp.

◆ operator~()

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

Definition at line 1087 of file math.hpp.

◆ rdtsc()

ESIMD_INLINE uint64_t sycl::_V1::ext::intel::experimental::esimd::rdtsc ( )

rdtsc - get the value of timestamp counter.

Returns
the current value of timestamp counter

Definition at line 1729 of file math.hpp.