Specialization of 'reducer' class for array reductions accepting a span in cases where the identity value is known.
More...
|
| reducer () |
|
| reducer (const T &, BinaryOperation) |
|
reducer< T, BinaryOperation, Dims - 1, Extent, Algorithm, true > | operator[] (size_t Index) |
|
T & | getElement (size_t E) |
|
const T & | getElement (size_t E) const |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsPlus< _T, BinaryOperation >::value &&sycl::detail::is_geninteger< _T >::value > | operator++ () |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsPlus< _T, BinaryOperation >::value &&sycl::detail::is_geninteger< _T >::value > | operator++ (int) |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsPlus< _T, BinaryOperation >::value > | operator+= (const _T &Partial) |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsMultiplies< _T, BinaryOperation >::value > | operator*= (const _T &Partial) |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsBitOR< _T, BinaryOperation >::value > | operator|= (const _T &Partial) |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsBitXOR< _T, BinaryOperation >::value > | operator^= (const _T &Partial) |
|
enable_if_t<(_Dims==0) &&sycl::detail::IsBitAND< _T, BinaryOperation >::value > | operator&= (const _T &Partial) |
|
enable_if_t< BasicCheck< _T, Space, _BinaryOperation > &&(IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value||IsReduOptForAtomic64Add< T, _BinaryOperation >::value) &&sycl::detail::IsPlus< T, _BinaryOperation >::value > | atomic_combine (_T *ReduVarPtr) const |
| Atomic ADD operation: *ReduVarPtr += MValue;. More...
|
|
enable_if_t< BasicCheck< _T, Space, _BinaryOperation > &&IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value &&sycl::detail::IsBitOR< T, _BinaryOperation >::value > | atomic_combine (_T *ReduVarPtr) const |
| Atomic BITWISE OR operation: *ReduVarPtr |= MValue;. More...
|
|
enable_if_t< BasicCheck< _T, Space, _BinaryOperation > &&IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value &&sycl::detail::IsBitXOR< T, _BinaryOperation >::value > | atomic_combine (_T *ReduVarPtr) const |
| Atomic BITWISE XOR operation: *ReduVarPtr ^= MValue;. More...
|
|
enable_if_t< std::is_same< typename remove_AS< _T >::type, T >::value &&IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value &&sycl::detail::IsBitAND< T, _BinaryOperation >::value &&(Space==access::address_space::global_space||Space==access::address_space::local_space)> | atomic_combine (_T *ReduVarPtr) const |
| Atomic BITWISE AND operation: *ReduVarPtr &= MValue;. More...
|
|
enable_if_t< BasicCheck< _T, Space, _BinaryOperation > &&IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value &&sycl::detail::IsMinimum< T, _BinaryOperation >::value > | atomic_combine (_T *ReduVarPtr) const |
| Atomic MIN operation: *ReduVarPtr = sycl::minimum(*ReduVarPtr, MValue);. More...
|
|
enable_if_t< BasicCheck< _T, Space, _BinaryOperation > &&IsReduOptForFastAtomicFetch< T, _BinaryOperation >::value &&sycl::detail::IsMaximum< T, _BinaryOperation >::value > | atomic_combine (_T *ReduVarPtr) const |
| Atomic MAX operation: *ReduVarPtr = sycl::maximum(*ReduVarPtr, MValue);. More...
|
|
template<typename T, class BinaryOperation, int Dims, size_t Extent, class Algorithm, bool View>
class cl::sycl::ext::oneapi::detail::reducer< T, BinaryOperation, Dims, Extent, Algorithm, View, enable_if_t< Dims==1 &&View==false &&IsKnownIdentityOp< T, BinaryOperation >::value > >
Specialization of 'reducer' class for array reductions accepting a span in cases where the identity value is known.
Definition at line 420 of file reduction.hpp.