CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
eigenSoA::ScalarSoA< T, S > Class Template Reference

#include <eigenSoA.h>

Public Types

using Scalar = T
 

Public Member Functions

constexpr Scalardata ()
 
constexpr Scalar const * data () const
 
constexpr Scalaroperator() (int32_t i)
 
constexpr const Scalar operator() (int32_t i) const
 
constexpr Scalaroperator[] (int32_t i)
 
constexpr const Scalar operator[] (int32_t i) const
 

Private Attributes

Scalar data_ [S]
 

Detailed Description

template<typename T, int S>
class eigenSoA::ScalarSoA< T, S >

Definition at line 17 of file eigenSoA.h.

Member Typedef Documentation

◆ Scalar

template<typename T , int S>
using eigenSoA::ScalarSoA< T, S >::Scalar = T

Definition at line 19 of file eigenSoA.h.

Member Function Documentation

◆ data() [1/2]

template<typename T , int S>
constexpr Scalar* eigenSoA::ScalarSoA< T, S >::data ( )
inlineconstexpr

Definition at line 26 of file eigenSoA.h.

26 { return data_; }

References eigenSoA::ScalarSoA< T, S >::data_.

◆ data() [2/2]

template<typename T , int S>
constexpr Scalar const* eigenSoA::ScalarSoA< T, S >::data ( ) const
inlineconstexpr

Definition at line 27 of file eigenSoA.h.

27 { return data_; }

References eigenSoA::ScalarSoA< T, S >::data_.

◆ operator()() [1/2]

template<typename T , int S>
constexpr Scalar& eigenSoA::ScalarSoA< T, S >::operator() ( int32_t  i)
inlineconstexpr

Definition at line 21 of file eigenSoA.h.

21 { return data_[i]; }

References eigenSoA::ScalarSoA< T, S >::data_, and mps_fire::i.

◆ operator()() [2/2]

template<typename T , int S>
constexpr const Scalar eigenSoA::ScalarSoA< T, S >::operator() ( int32_t  i) const
inlineconstexpr

Definition at line 22 of file eigenSoA.h.

22 { return __ldg(data_ + i); }

References cms::cudacompat::__ldg(), eigenSoA::ScalarSoA< T, S >::data_, and mps_fire::i.

◆ operator[]() [1/2]

template<typename T , int S>
constexpr Scalar& eigenSoA::ScalarSoA< T, S >::operator[] ( int32_t  i)
inlineconstexpr

Definition at line 23 of file eigenSoA.h.

23 { return data_[i]; }

References eigenSoA::ScalarSoA< T, S >::data_, and mps_fire::i.

◆ operator[]() [2/2]

template<typename T , int S>
constexpr const Scalar eigenSoA::ScalarSoA< T, S >::operator[] ( int32_t  i) const
inlineconstexpr

Definition at line 24 of file eigenSoA.h.

24 { return __ldg(data_ + i); }

References cms::cudacompat::__ldg(), eigenSoA::ScalarSoA< T, S >::data_, and mps_fire::i.

Member Data Documentation

◆ data_

template<typename T , int S>
Scalar eigenSoA::ScalarSoA< T, S >::data_[S]
private
mps_fire.i
i
Definition: mps_fire.py:355
eigenSoA::ScalarSoA::data_
Scalar data_[S]
Definition: eigenSoA.h:30
cms::cudacompat::__ldg
T __ldg(T const *x)
Definition: cudaCompat.h:70