VecCore 0.8.1
C++ Library for Portable SIMD Vectorization
Loading...
Searching...
No Matches
ScalarWrapper.h File Reference
#include <type_traits>
Include dependency graph for ScalarWrapper.h:

Go to the source code of this file.

Classes

struct  vecCore::TypeTraits< WrappedBool >
 
struct  vecCore::TypeTraits< WrappedScalar< T > >
 
class  vecCore::backend::ScalarWrapperT< T >
 
class  vecCore::WrappedBool
 
class  vecCore::MaskedScalar< T >
 
class  vecCore::WrappedScalar< T >
 
struct  vecCore::MaskingImplementation< WrappedScalar< T > >
 

Namespaces

namespace  vecCore
 
namespace  vecCore::backend
 

Macros

#define MASK_ASSIGN_OPERATOR(OP)
 
#define SCALAR_WRAPPER_OPERATOR(OP)
 

Typedefs

using vecCore::backend::ScalarWrapper = ScalarWrapperT<>
 

Functions

template<>
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE bool vecCore::MaskEmpty< WrappedBool > (const WrappedBool &mask)
 
template<>
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE bool vecCore::MaskFull< WrappedBool > (const WrappedBool &mask)
 

Class Documentation

◆ vecCore::backend::ScalarWrapperT

class vecCore::backend::ScalarWrapperT
template<typename T = Real_s>
class vecCore::backend::ScalarWrapperT< T >

Definition at line 32 of file ScalarWrapper.h.

Class Members
typedef WrappedScalar< double > Double_v
typedef WrappedScalar< float > Float_v
typedef WrappedScalar< int16_t > Int16_v
typedef WrappedScalar< int32_t > Int32_v
typedef WrappedScalar< int64_t > Int64_v
typedef WrappedScalar< int > Int_v
typedef WrappedScalar< T > Real_v
typedef WrappedScalar< uint16_t > UInt16_v
typedef WrappedScalar< uint32_t > UInt32_v
typedef WrappedScalar< uint64_t > UInt64_v
typedef WrappedScalar< unsigned int > UInt_v

Macro Definition Documentation

◆ MASK_ASSIGN_OPERATOR

#define MASK_ASSIGN_OPERATOR (   OP)
Value:
VECCORE_ATT_HOST_DEVICE \
T &operator OP(const T &ref) \
{ \
if (fMask) fRef OP ref; \
return fRef; \
}

Definition at line 112 of file ScalarWrapper.h.

◆ SCALAR_WRAPPER_OPERATOR

#define SCALAR_WRAPPER_OPERATOR (   OP)
Value:
VECCORE_FORCE_INLINE \
VECCORE_ATT_HOST_DEVICE \
WrappedScalar operator OP(const WrappedScalar &x) const { return WrappedScalar(fVal OP x.fVal); } \
\
VECCORE_FORCE_INLINE \
VECCORE_ATT_HOST_DEVICE \
WrappedScalar operator OP(const T &x) const { return WrappedScalar(fVal OP x); }

Definition at line 203 of file ScalarWrapper.h.