CMS 3D CMS Logo

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

#include <eigenSoA.h>

Public Types

using CMap = Eigen::Map< const M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > >
 
using Map = Eigen::Map< M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > >
 
using Scalar = typename M::Scalar
 

Public Member Functions

__host__ __device__ constexpr Map operator() (int32_t i)
 
__host__ __device__ constexpr CMap operator() (int32_t i) const
 
__host__ __device__ constexpr Map operator[] (int32_t i)
 
__host__ __device__ constexpr CMap operator[] (int32_t i) const
 

Private Attributes

Scalar data_ [S *M::RowsAtCompileTime *M::ColsAtCompileTime]
 

Detailed Description

template<typename M, int S>
class eigenSoA::MatrixSoA< M, S >

Definition at line 36 of file eigenSoA.h.

Member Typedef Documentation

◆ CMap

template<typename M, int S>
using eigenSoA::MatrixSoA< M, S >::CMap = Eigen::Map<const M, 0, Eigen::Stride<M::RowsAtCompileTime * S, S> >

Definition at line 40 of file eigenSoA.h.

◆ Map

template<typename M, int S>
using eigenSoA::MatrixSoA< M, S >::Map = Eigen::Map<M, 0, Eigen::Stride<M::RowsAtCompileTime * S, S> >

Definition at line 39 of file eigenSoA.h.

◆ Scalar

template<typename M, int S>
using eigenSoA::MatrixSoA< M, S >::Scalar = typename M::Scalar

Definition at line 38 of file eigenSoA.h.

Member Function Documentation

◆ operator()() [1/2]

template<typename M, int S>
__host__ __device__ constexpr Map eigenSoA::MatrixSoA< M, S >::operator() ( int32_t  i)
inline

Definition at line 42 of file eigenSoA.h.

42 { return Map(data_ + i); }
Scalar data_[S *M::RowsAtCompileTime *M::ColsAtCompileTime]
Definition: eigenSoA.h:48
Eigen::Map< M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > > Map
Definition: eigenSoA.h:39

◆ operator()() [2/2]

template<typename M, int S>
__host__ __device__ constexpr CMap eigenSoA::MatrixSoA< M, S >::operator() ( int32_t  i) const
inline

Definition at line 43 of file eigenSoA.h.

43 { return CMap(data_ + i); }
Eigen::Map< const M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > > CMap
Definition: eigenSoA.h:40
Scalar data_[S *M::RowsAtCompileTime *M::ColsAtCompileTime]
Definition: eigenSoA.h:48

◆ operator[]() [1/2]

template<typename M, int S>
__host__ __device__ constexpr Map eigenSoA::MatrixSoA< M, S >::operator[] ( int32_t  i)
inline

Definition at line 44 of file eigenSoA.h.

44 { return Map(data_ + i); }
Scalar data_[S *M::RowsAtCompileTime *M::ColsAtCompileTime]
Definition: eigenSoA.h:48
Eigen::Map< M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > > Map
Definition: eigenSoA.h:39

◆ operator[]() [2/2]

template<typename M, int S>
__host__ __device__ constexpr CMap eigenSoA::MatrixSoA< M, S >::operator[] ( int32_t  i) const
inline

Definition at line 45 of file eigenSoA.h.

45 { return CMap(data_ + i); }
Eigen::Map< const M, 0, Eigen::Stride< M::RowsAtCompileTime *S, S > > CMap
Definition: eigenSoA.h:40
Scalar data_[S *M::RowsAtCompileTime *M::ColsAtCompileTime]
Definition: eigenSoA.h:48

Member Data Documentation

◆ data_

template<typename M, int S>
Scalar eigenSoA::MatrixSoA< M, S >::data_[S *M::RowsAtCompileTime *M::ColsAtCompileTime]
private