MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
mfem::OffsetStridedLayout2D< N1, S1, N2, S2 > Struct Template Reference

#include <tlayout.hpp>

Public Member Functions

 OffsetStridedLayout2D ()
 
 OffsetStridedLayout2D (int offset_)
 
MFEM_HOST_DEVICE int ind (int i1, int i2) const
 
OffsetStridedLayout1D< N2, S2 > ind1 (int i1) const
 
OffsetStridedLayout1D< N1, S1 > ind2 (int i2) const
 
template<int M1, int M2>
OffsetStridedLayout2D< M1, S1, M2, S2 > sub (int o1, int o2) const
 
template<int N1_1, int N1_2>
OffsetStridedLayout3D< N1_1, S1, N1_2, S1 *N1_1, N2, S2 > split_1 () const
 
template<int N2_1, int N2_2>
OffsetStridedLayout3D< N1, S1, N2_1, S2, N2_2, S2 *N2_1 > split_2 () const
 
template<int N1_1, int N1_2, int N2_1, int N2_2>
OffsetStridedLayout4D< N1_1, S1, N1_2, S1 *N1_1, N2_1, S2, N2_2, S2 *N2_1 > split_12 () const
 
OffsetStridedLayout1D< N1 *N2,(S1< S2)?S1:S2 > merge_12 () const
 
OffsetStridedLayout2D< N2, S2, N1, S1 > transpose_12 () const
 

Public Attributes

int offset
 

Static Public Attributes

static const int rank = 2
 
static const int dim_1 = N1
 
static const int dim_2 = N2
 
static const int size = N1*N2
 

Detailed Description

template<int N1, int S1, int N2, int S2>
struct mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >

Definition at line 59 of file tlayout.hpp.

Constructor & Destructor Documentation

◆ OffsetStridedLayout2D() [1/2]

template<int N1, int S1, int N2, int S2>
mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::OffsetStridedLayout2D ( )
inline

Definition at line 179 of file tlayout.hpp.

◆ OffsetStridedLayout2D() [2/2]

template<int N1, int S1, int N2, int S2>
mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::OffsetStridedLayout2D ( int  offset_)
inline

Definition at line 180 of file tlayout.hpp.

Member Function Documentation

◆ ind()

template<int N1, int S1, int N2, int S2>
MFEM_HOST_DEVICE int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::ind ( int  i1,
int  i2 
) const
inline

Definition at line 181 of file tlayout.hpp.

◆ ind1()

template<int N1, int S1, int N2, int S2>
OffsetStridedLayout1D<N2,S2> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::ind1 ( int  i1) const
inline

Definition at line 185 of file tlayout.hpp.

◆ ind2()

template<int N1, int S1, int N2, int S2>
OffsetStridedLayout1D<N1,S1> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::ind2 ( int  i2) const
inline

Definition at line 189 of file tlayout.hpp.

◆ merge_12()

template<int N1, int S1, int N2, int S2>
OffsetStridedLayout1D<N1*N2,(S1<S2)?S1:S2> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::merge_12 ( ) const
inline

Definition at line 226 of file tlayout.hpp.

◆ split_1()

template<int N1, int S1, int N2, int S2>
template<int N1_1, int N1_2>
OffsetStridedLayout3D<N1_1,S1,N1_2,S1*N1_1,N2,S2> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::split_1 ( ) const
inline

Definition at line 203 of file tlayout.hpp.

◆ split_12()

template<int N1, int S1, int N2, int S2>
template<int N1_1, int N1_2, int N2_1, int N2_2>
OffsetStridedLayout4D<N1_1,S1,N1_2,S1*N1_1,N2_1,S2,N2_2,S2*N2_1> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::split_12 ( ) const
inline

Definition at line 218 of file tlayout.hpp.

◆ split_2()

template<int N1, int S1, int N2, int S2>
template<int N2_1, int N2_2>
OffsetStridedLayout3D<N1,S1,N2_1,S2,N2_2,S2*N2_1> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::split_2 ( ) const
inline

Definition at line 210 of file tlayout.hpp.

◆ sub()

template<int N1, int S1, int N2, int S2>
template<int M1, int M2>
OffsetStridedLayout2D<M1,S1,M2,S2> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::sub ( int  o1,
int  o2 
) const
inline

Definition at line 195 of file tlayout.hpp.

◆ transpose_12()

template<int N1, int S1, int N2, int S2>
OffsetStridedLayout2D<N2,S2,N1,S1> mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::transpose_12 ( ) const
inline

Definition at line 234 of file tlayout.hpp.

Member Data Documentation

◆ dim_1

template<int N1, int S1, int N2, int S2>
const int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::dim_1 = N1
static

Definition at line 173 of file tlayout.hpp.

◆ dim_2

template<int N1, int S1, int N2, int S2>
const int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::dim_2 = N2
static

Definition at line 174 of file tlayout.hpp.

◆ offset

template<int N1, int S1, int N2, int S2>
int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::offset

Definition at line 177 of file tlayout.hpp.

◆ rank

template<int N1, int S1, int N2, int S2>
const int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::rank = 2
static

Definition at line 172 of file tlayout.hpp.

◆ size

template<int N1, int S1, int N2, int S2>
const int mfem::OffsetStridedLayout2D< N1, S1, N2, S2 >::size = N1*N2
static

Definition at line 175 of file tlayout.hpp.


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