MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::StridedLayout2D< N1, S1, N2, S2 > Struct Template Reference

#include <tlayout.hpp>

Static Public Member Functions

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

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::StridedLayout2D< N1, S1, N2, S2 >

Definition at line 100 of file tlayout.hpp.

Member Function Documentation

◆ ind()

template<int N1, int S1, int N2, int S2>
static MFEM_HOST_DEVICE int mfem::StridedLayout2D< N1, S1, N2, S2 >::ind ( int i1,
int i2 )
inlinestatic

Definition at line 107 of file tlayout.hpp.

◆ ind1()

template<int N1, int S1, int N2, int S2>
static OffsetStridedLayout1D< N2, S2 > mfem::StridedLayout2D< N1, S1, N2, S2 >::ind1 ( int i1)
inlinestatic

Definition at line 111 of file tlayout.hpp.

◆ ind2()

template<int N1, int S1, int N2, int S2>
static OffsetStridedLayout1D< N1, S1 > mfem::StridedLayout2D< N1, S1, N2, S2 >::ind2 ( int i2)
inlinestatic

Definition at line 115 of file tlayout.hpp.

◆ merge_12()

template<int N1, int S1, int N2, int S2>
static StridedLayout1D< N1 *N2,(S1< S2)?S1:S2 > mfem::StridedLayout2D< N1, S1, N2, S2 >::merge_12 ( )
inlinestatic

Definition at line 150 of file tlayout.hpp.

◆ split_1()

template<int N1, int S1, int N2, int S2>
template<int N1_1, int N1_2>
static StridedLayout3D< N1_1, S1, N1_2, S1 *N1_1, N2, S2 > mfem::StridedLayout2D< N1, S1, N2, S2 >::split_1 ( )
inlinestatic

Definition at line 129 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>
static StridedLayout4D< N1_1, S1, N1_2, S1 *N1_1, N2_1, S2, N2_2, S2 *N2_1 > mfem::StridedLayout2D< N1, S1, N2, S2 >::split_12 ( )
inlinestatic

Definition at line 143 of file tlayout.hpp.

◆ split_2()

template<int N1, int S1, int N2, int S2>
template<int N2_1, int N2_2>
static StridedLayout3D< N1, S1, N2_1, S2, N2_2, S2 *N2_1 > mfem::StridedLayout2D< N1, S1, N2, S2 >::split_2 ( )
inlinestatic

Definition at line 136 of file tlayout.hpp.

◆ sub()

template<int N1, int S1, int N2, int S2>
template<int M1, int M2>
static OffsetStridedLayout2D< M1, S1, M2, S2 > mfem::StridedLayout2D< N1, S1, N2, S2 >::sub ( int o1,
int o2 )
inlinestatic

Definition at line 121 of file tlayout.hpp.

◆ transpose_12()

template<int N1, int S1, int N2, int S2>
static StridedLayout2D< N2, S2, N1, S1 > mfem::StridedLayout2D< N1, S1, N2, S2 >::transpose_12 ( )
inlinestatic

Definition at line 158 of file tlayout.hpp.

Member Data Documentation

◆ dim_1

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

Definition at line 103 of file tlayout.hpp.

◆ dim_2

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

Definition at line 104 of file tlayout.hpp.

◆ rank

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

Definition at line 102 of file tlayout.hpp.

◆ size

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

Definition at line 105 of file tlayout.hpp.


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