alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
EmuSimdMask.hpp File Reference

Go to the source code of this file.

Classes

struct  alpaka::trait::GetSimdMaskStorageType< T_Api, T_Type, T_width >
 Get the storage type for a SIMD mask pack. More...

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::trait

Macros

#define ALPAKA_VECTOR_ASSIGN_OP(op)
 assign operator
#define ALPAKA_VECTOR_BINARY_CMP_OP(returnSimdType, argSimdType, typenameOrConcept, op)

Macro Definition Documentation

◆ ALPAKA_VECTOR_ASSIGN_OP

#define ALPAKA_VECTOR_ASSIGN_OP ( op)
Value:
template<typename T_OtherStorage> \
constexpr EmuSimdMask& operator op(EmuSimdMask const& rhs) \
{ \
for(uint32_t i = 0u; i < T_width; i++) \
{ \
asNativeType()[i] op rhs[i]; \
} \
return *this; \
} \
constexpr EmuSimdMask& operator op(T_Type const value) \
{ \
for(uint32_t i = 0u; i < T_width; i++) \
{ \
asNativeType()[i] op value; \
} \
return *this; \
}

assign operator

Definition at line 144 of file EmuSimdMask.hpp.

◆ ALPAKA_VECTOR_BINARY_CMP_OP

#define ALPAKA_VECTOR_BINARY_CMP_OP ( returnSimdType,
argSimdType,
typenameOrConcept,
op )
Value:
template<typenameOrConcept T_Type, uint32_t T_width> \
constexpr auto operator op(const argSimdType<T_Type, T_width>& lhs, const argSimdType<T_Type, T_width>& rhs) \
{ \
returnSimdType<T_Type, T_width> ret{}; \
for(uint32_t i = 0u; i < T_width; i++) \
ret[i] = valueMaskCast<T_Type>(lhs[i] op rhs[i]); \
return ret; \
} \
template<typenameOrConcept T_Type, uint32_t T_width> \
constexpr auto operator op(const argSimdType<T_Type, T_width>& lhs, T_Type rhs) \
{ \
returnSimdType<T_Type, T_width> ret{}; \
for(uint32_t i = 0u; i < T_width; i++) \
ret[i] = valueMaskCast<T_Type>(lhs[i] op rhs); \
return ret; \
} \
template<typenameOrConcept T_Type, uint32_t T_width> \
constexpr auto operator op(T_Type lhs, const argSimdType<T_Type, T_width>& rhs) \
{ \
returnSimdType<T_Type, T_width> ret{}; \
for(uint32_t i = 0u; i < T_width; i++) \
ret[i] = valueMaskCast<T_Type>(lhs op rhs[i]); \
return ret; \
}

Definition at line 169 of file EmuSimdMask.hpp.