VecCore 0.8.1
C++ Library for Portable SIMD Vectorization
Loading...
Searching...
No Matches
Implementation.h File Reference
#include "Interface.h"
#include "../Limits.h"
#include <algorithm>
#include <type_traits>
Include dependency graph for Implementation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vecCore::IteratorImplementation< T >
 
struct  vecCore::IndexingImplementation< T >
 
struct  vecCore::LoadStoreImplementation< T >
 
struct  vecCore::GatherScatterImplementation< T >
 
struct  vecCore::GenericMaskingImplementation< T, bool >
 
struct  vecCore::GenericMaskingImplementation< T, true >
 
struct  vecCore::MaskingImplementation< T >
 

Namespaces

namespace  vecCore
 

Functions

template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE constexpr size_t vecCore::VectorSize ()
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE constexpr size_t vecCore::VectorSize (const T &)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > * vecCore::Begin (T &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > * vecCore::End (T &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > const * vecCore::Begin (T const &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > const * vecCore::End (T const &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > vecCore::Get (const T &v, size_t i)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE void vecCore::Set (T &v, size_t i, Scalar< T > const val)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE void vecCore::Load (T &v, Scalar< T > const *ptr)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICEvecCore::Load (Scalar< T > const *ptr)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE void vecCore::Store (T const &v, Scalar< T > *ptr)
 
template<typename T , typename S >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICEvecCore::Gather (S const *ptr, Index< T > const &idx)
 
template<typename T , typename S >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE void vecCore::Scatter (T const &v, S *ptr, Index< T > const &idx)
 
template<typename M >
VECCORE_ATT_HOST_DEVICE bool vecCore::MaskFull (const M &mask)
 
template<typename M >
VECCORE_ATT_HOST_DEVICE bool vecCore::MaskEmpty (const M &mask)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE void vecCore::MaskedAssign (T &dst, const Mask< T > &mask, const T &src)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICEvecCore::Blend (const Mask< T > &mask, const T &src1, const T &src2)
 
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE constexpr bool vecCore::EarlyReturnAllowed ()
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE constexpr bool vecCore::EarlyReturnMaxLength (T &, size_t n)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > vecCore::ReduceAdd (const T &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > vecCore::ReduceMin (const T &v)
 
template<typename T >
VECCORE_FORCE_INLINE VECCORE_ATT_HOST_DEVICE Scalar< T > vecCore::ReduceMax (const T &v)
 
template<typename Vout , typename Vin >
Vout vecCore::Convert (const Vin &v)