Defines explicit conversions (with and without saturation), truncation etc. More...
Macros | |
#define | __ESIMD_INTRINSIC_DEF(name) |
Functions | |
template<typename T , int SZ, class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API sycl::ext::intel::esimd ::simd< T, SZ > | sycl::_V1::ext::intel::esimd::rndd (sycl::ext::intel::esimd ::simd< float, SZ > src0, Sat sat={}) |
Round-down (also known as floor ). More... | |
template<typename T , class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API T | sycl::_V1::ext::intel::esimd::rndd (float src0, Sat sat={}) |
Scalar version. More... | |
template<typename T , int SZ, class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API sycl::ext::intel::esimd ::simd< T, SZ > | sycl::_V1::ext::intel::esimd::rndu (sycl::ext::intel::esimd ::simd< float, SZ > src0, Sat sat={}) |
Round-up (also known as ceil ). More... | |
template<typename T , class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API T | sycl::_V1::ext::intel::esimd::rndu (float src0, Sat sat={}) |
Scalar version. More... | |
template<typename T , int SZ, class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API sycl::ext::intel::esimd ::simd< T, SZ > | sycl::_V1::ext::intel::esimd::rnde (sycl::ext::intel::esimd ::simd< float, SZ > src0, Sat sat={}) |
Round-to-even (also known as round ). More... | |
template<typename T , class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API T | sycl::_V1::ext::intel::esimd::rnde (float src0, Sat sat={}) |
Scalar version. More... | |
template<typename T , int SZ, class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API sycl::ext::intel::esimd ::simd< T, SZ > | sycl::_V1::ext::intel::esimd::rndz (sycl::ext::intel::esimd ::simd< float, SZ > src0, Sat sat={}) |
Round-to-zero (also known as trunc ). More... | |
template<typename T , class Sat = sycl::ext::intel::esimd ::saturation_off_tag> | |
__ESIMD_API T | sycl::_V1::ext::intel::esimd::rndz (float src0, Sat sat={}) |
Scalar version. More... | |
template<typename RT , int SZ, class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
ESIMD_INLINE sycl::ext::intel::esimd::simd< RT, SZ > | sycl::_V1::ext::intel::esimd::floor (const sycl::ext::intel::esimd::simd< float, SZ > src0, Sat sat={}) |
"Floor" operation, vector version - alias of rndd . More... | |
template<typename RT , class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
ESIMD_INLINE RT | sycl::_V1::ext::intel::esimd::floor (float src0, Sat sat={}) |
"Floor" operation, scalar version - alias of rndd . More... | |
template<typename RT , int SZ, class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
ESIMD_INLINE sycl::ext::intel::esimd::simd< RT, SZ > | sycl::_V1::ext::intel::esimd::ceil (const sycl::ext::intel::esimd::simd< float, SZ > src0, Sat sat={}) |
"Ceiling" operation, vector version - alias of rndu . More... | |
template<typename RT , class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
ESIMD_INLINE RT | sycl::_V1::ext::intel::esimd::ceil (float src0, Sat sat={}) |
"Ceiling" operation, scalar version - alias of rndu . More... | |
template<typename RT , int SZ, class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
__ESIMD_API sycl::ext::intel::esimd::simd< RT, SZ > | sycl::_V1::ext::intel::esimd::trunc (const sycl::ext::intel::esimd::simd< float, SZ > &src0, Sat sat={}) |
Round to integral value using the round to zero rounding mode (vector version). More... | |
template<typename RT , class Sat = sycl::ext::intel::esimd::saturation_off_tag> | |
__ESIMD_API RT | sycl::_V1::ext::intel::esimd::trunc (float src0, Sat sat={}) |
Round to integral value using the round to zero rounding mode (scalar version). More... | |
template<typename To , typename From , int N> | |
ESIMD_INLINE simd< To, N > | sycl::_V1::ext::intel::esimd::convert (const simd< From, N > &val) |
Covert from a simd object with element type From to a simd object with element type To . More... | |
Defines explicit conversions (with and without saturation), truncation etc.
between ESIMD vector types.
#define __ESIMD_INTRINSIC_DEF | ( | name | ) |
ESIMD_INLINE sycl::ext::intel::esimd::simd<RT, SZ> sycl::_V1::ext::intel::esimd::ceil | ( | const sycl::ext::intel::esimd::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
ESIMD_INLINE RT sycl::_V1::ext::intel::esimd::ceil | ( | float | src0, |
Sat | sat = {} |
||
) |
ESIMD_INLINE simd<To, N> sycl::_V1::ext::intel::esimd::convert | ( | const simd< From, N > & | val | ) |
Covert from a simd object with element type From
to a simd object with element type To
.
Definition at line 190 of file simd.hpp.
References sycl::_V1::ext::intel::esimd::detail::simd_obj_impl< RawTy, N, Derived, SFINAE >::data().
ESIMD_INLINE sycl::ext::intel::esimd::simd<RT, SZ> sycl::_V1::ext::intel::esimd::floor | ( | const sycl::ext::intel::esimd::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
ESIMD_INLINE RT sycl::_V1::ext::intel::esimd::floor | ( | float | src0, |
Sat | sat = {} |
||
) |
__ESIMD_API T sycl::_V1::ext::intel::esimd::rndd | ( | float | src0, |
Sat | sat = {} |
||
) |
__ESIMD_API sycl::ext::intel::esimd ::simd<T, SZ> sycl::_V1::ext::intel::esimd::rndd | ( | sycl::ext::intel::esimd ::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
Round-down (also known as floor
).
Supports only float
. Corner cases:
_ | _ | _ | _ | _ | _ | _ | _ |
---|---|---|---|---|---|---|---|
src0 | -inf | -denorm | -0 | +0 | +denorm | +inf | NaN |
dst | -inf | * | -0 | +0 | +0 | +inf | NaN |
-1
or -0
depending on the Single Precision Denorm Mode. T | Element type. |
SZ | Number of elements in the input vector. |
Sat | Saturation control. Default is * __ESIMD_NS::saturation_off_tag |
src0 | The argument to perform rounding on. |
sat | The type tag object to auto-deduce saturation control. can be saturation_off or saturation_on |
__ESIMD_API T sycl::_V1::ext::intel::esimd::rnde | ( | float | src0, |
Sat | sat = {} |
||
) |
__ESIMD_API sycl::ext::intel::esimd ::simd<T, SZ> sycl::_V1::ext::intel::esimd::rnde | ( | sycl::ext::intel::esimd ::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
Round-to-even (also known as round
).
Supports only float
. Corner cases:
_ | _ | _ | _ | _ | _ | _ | _ |
---|---|---|---|---|---|---|---|
src0 | -inf | -denorm | -0 | +0 | +denorm | +inf | NaN |
dst | -inf | -0 | -0 | +0 | +0 | +inf | NaN |
T | Element type. |
SZ | Number of elements in the input vector. |
Sat | Saturation control. Default is * __ESIMD_NS::saturation_off_tag |
src0 | The argument to perform rounding on. |
sat | The type tag object to auto-deduce saturation control. can be saturation_off or saturation_on |
__ESIMD_API T sycl::_V1::ext::intel::esimd::rndu | ( | float | src0, |
Sat | sat = {} |
||
) |
__ESIMD_API sycl::ext::intel::esimd ::simd<T, SZ> sycl::_V1::ext::intel::esimd::rndu | ( | sycl::ext::intel::esimd ::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
Round-up (also known as ceil
).
Supports only float
. Corner cases:
_ | _ | _ | _ | _ | _ | _ | _ |
---|---|---|---|---|---|---|---|
src0 | -inf | -denorm | -0 | +0 | +denorm | +inf | NaN |
dst | -inf | -0 | -0 | +0 | * | +inf | NaN |
+1
or +0
depending on the Single Precision Denorm Mode. T | Element type. |
SZ | Number of elements in the input vector. |
Sat | Saturation control. Default is * __ESIMD_NS::saturation_off_tag |
src0 | The argument to perform rounding on. |
sat | The type tag object to auto-deduce saturation control. can be saturation_off or saturation_on |
__ESIMD_API T sycl::_V1::ext::intel::esimd::rndz | ( | float | src0, |
Sat | sat = {} |
||
) |
__ESIMD_API sycl::ext::intel::esimd ::simd<T, SZ> sycl::_V1::ext::intel::esimd::rndz | ( | sycl::ext::intel::esimd ::simd< float, SZ > | src0, |
Sat | sat = {} |
||
) |
Round-to-zero (also known as trunc
).
Supports only float
. Corner cases:
_ | _ | _ | _ | _ | _ | _ | _ |
---|---|---|---|---|---|---|---|
src0 | -inf | -denorm | -0 | +0 | +denorm | +inf | NaN |
dst | -inf | -0 | -0 | +0 | +0 | +inf | NaN |
T | Element type. |
SZ | Number of elements in the input vector. |
Sat | Saturation control. Default is * __ESIMD_NS::saturation_off_tag |
src0 | The argument to perform rounding on. |
sat | The type tag object to auto-deduce saturation control. can be saturation_off or saturation_on |
__ESIMD_API sycl::ext::intel::esimd::simd<RT, SZ> sycl::_V1::ext::intel::esimd::trunc | ( | const sycl::ext::intel::esimd::simd< float, SZ > & | src0, |
Sat | sat = {} |
||
) |
Round to integral value using the round to zero rounding mode (vector version).
Alias of rndz
.
RT | element type of the return vector. |
SZ | size of the input and returned vectors. |
src0 | the input vector. |
sat | enables/disables the saturation (off by default). Possible values: saturation_on/saturation_off. |
__ESIMD_API RT sycl::_V1::ext::intel::esimd::trunc | ( | float | src0, |
Sat | sat = {} |
||
) |
Round to integral value using the round to zero rounding mode (scalar version).
Alias of rndz
.
RT | type of the return value. |
src0 | the input operand. |
sat | enables/disables the saturation (off by default). Possible values: saturation_on/saturation_off. |