Project
Loading...
Searching...
No Matches
AlignedArray.h File Reference

Memory aligned array used for SIMD operations. More...

#include <cstring>
#include <cassert>
#include <cstdint>
#include <type_traits>
#include <fmt/format.h>
#include <gsl/span>
#include "rANS/internal/common/utils.h"
#include "rANS/internal/common/simdtypes.h"

Go to the source code of this file.

Classes

class  o2::rans::internal::simd::AlignedArrayIterator< array_T >
 
class  o2::rans::internal::simd::AlignedArray< T, width_V, size_V >
 
struct  o2::rans::internal::simd::simdWidth< AlignedArray< T, simd_V > >
 
struct  o2::rans::internal::simd::elementCount< AlignedArray< T, simd_V, size_V > >
 
class  o2::rans::internal::simd::alignedArrayImpl::IdentityFormatingFunctor
 
class  o2::rans::internal::simd::alignedArrayImpl::HexFormatingFunctor
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::rans
 
namespace  o2::rans::internal
 
namespace  o2::rans::internal::simd
 
namespace  o2::rans::internal::simd::alignedArrayImpl
 
namespace  std
 Defining DataPointCompositeObject explicitly as copiable.
 
namespace  gsl
 

Typedefs

template<SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::pd_t = AlignedArray< double_t, width_V, size_V >
 
template<SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::epi64_t = AlignedArray< uint64_t, width_V, size_V >
 
template<SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::epi32_t = AlignedArray< uint32_t, width_V, size_V >
 
template<SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::epi16_t = AlignedArray< uint16_t, width_V, size_V >
 
template<SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::epi8_t = AlignedArray< uint8_t, width_V, size_V >
 

Functions

template<typename T , SIMDWidth width_V, size_t size_V, class formater_T = alignedArrayImpl::IdentityFormatingFunctor>
std::ostream & o2::rans::internal::simd::operator<< (std::ostream &stream, const AlignedArray< T, width_V, size_V > &array)
 
template<typename T , SIMDWidth width_V, size_t size_V>
std::string o2::rans::internal::simd::asHex (const AlignedArray< T, width_V, size_V > &array)
 
template<typename T , size_t extent_V, class formatingFunctor = o2::rans::internal::simd::alignedArrayImpl::IdentityFormatingFunctor>
std::ostream & std::operator<< (std::ostream &stream, const gsl::span< T, extent_V > &span)
 
template<typename T , o2::rans::internal::simd::SIMDWidth width_V, size_t size_V>
auto gsl::make_span (const o2::rans::internal::simd::AlignedArray< T, width_V, size_V > &array)
 
template<typename T , o2::rans::internal::simd::SIMDWidth width_V, size_t size_V>
auto gsl::make_span (o2::rans::internal::simd::AlignedArray< T, width_V, size_V > &array)
 

Variables

template<typename T >
constexpr SIMDWidth o2::rans::internal::simd::simdWidth_v = simdWidth<T>::value
 
template<typename T >
constexpr size_t o2::rans::internal::simd::elementCount_v = elementCount<T>::value
 

Detailed Description

Memory aligned array used for SIMD operations.

Author
Michael Lettrich

Definition in file AlignedArray.h.