Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
VecSVEBase< T, N > Class Template Reference

#include <vectorclass_sve.hpp>

Inheritance diagram for VecSVEBase< T, N >:

Public Types

using sve_vec_t = typename sve::type<T>::vec
using sve_integral_t = typename sve::type<T>::integral
using sve_scalar_t = typename sve::type<T>::scalar

Public Member Functions

operator[] (const std::size_t i) const
SVE_INLINE sve_scalar_t reduce () const
sve_scalar_tleak_ptr () const

Static Public Attributes

static constexpr std::size_t sve_size_bytes = __ARM_FEATURE_SVE_BITS >> 3
static constexpr std::size_t len = N * sizeof(T) / sve_size_bytes
static constexpr std::size_t elems_per_vec = sve_size_bytes / sizeof(T)

Protected Member Functions

sve_vec_t m_data[len__attribute__ ((aligned(CACHE_LINE_SIZE)))

Detailed Description

template<typename T, std::size_t N>
class VecSVEBase< T, N >

Definition at line 557 of file vectorclass_sve.hpp.

Member Typedef Documentation

◆ sve_integral_t

template<typename T, std::size_t N>
using VecSVEBase< T, N >::sve_integral_t = typename sve::type<T>::integral

Definition at line 561 of file vectorclass_sve.hpp.

◆ sve_scalar_t

template<typename T, std::size_t N>
using VecSVEBase< T, N >::sve_scalar_t = typename sve::type<T>::scalar

Definition at line 562 of file vectorclass_sve.hpp.

◆ sve_vec_t

template<typename T, std::size_t N>
using VecSVEBase< T, N >::sve_vec_t = typename sve::type<T>::vec

Definition at line 560 of file vectorclass_sve.hpp.

Member Function Documentation

◆ __attribute__()

template<typename T, std::size_t N>
sve_vec_t m_data[len] VecSVEBase< T, N >::__attribute__ ( (aligned(CACHE_LINE_SIZE)) )
protected

◆ leak_ptr()

template<typename T, std::size_t N>
sve_scalar_t * VecSVEBase< T, N >::leak_ptr ( ) const
inline

Definition at line 588 of file vectorclass_sve.hpp.

Here is the call graph for this function:

◆ operator[]()

template<typename T, std::size_t N>
T VecSVEBase< T, N >::operator[] ( const std::size_t i) const
inline

Definition at line 571 of file vectorclass_sve.hpp.

Here is the call graph for this function:

◆ reduce()

template<typename T, std::size_t N>
SVE_INLINE sve_scalar_t VecSVEBase< T, N >::reduce ( ) const
inline

Definition at line 579 of file vectorclass_sve.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ elems_per_vec

template<typename T, std::size_t N>
std::size_t VecSVEBase< T, N >::elems_per_vec = sve_size_bytes / sizeof(T)
staticconstexpr

Definition at line 565 of file vectorclass_sve.hpp.

◆ len

template<typename T, std::size_t N>
std::size_t VecSVEBase< T, N >::len = N * sizeof(T) / sve_size_bytes
staticconstexpr

Definition at line 564 of file vectorclass_sve.hpp.

◆ sve_size_bytes

template<typename T, std::size_t N>
std::size_t VecSVEBase< T, N >::sve_size_bytes = __ARM_FEATURE_SVE_BITS >> 3
staticconstexpr

Definition at line 563 of file vectorclass_sve.hpp.


The documentation for this class was generated from the following file: