v0.13.2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
FTensor::Permutation2< Dim0, Dim1, i, j > Struct Template Reference

#include <src/ftensor/src/FTensor/Permutation2.hpp>

Public Member Functions

 Permutation2 ()=default
 
template<class B , class U >
eval (const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &rhs, const int N0, const int N1)
 
template<class B , class U >
eval (const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &rhs, const int N0, const int N1)
 
template<class B , class U , int Dim1_0, int Dim1_1, char i1, char j1>
eval (const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
 
template<class B , class U >
U & eval_ref (const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &rhs, const int N0, const int N1)
 
template<class B , class U >
U & eval_ref (const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &rhs, const int N0, const int N1)
 
template<class B , class U , int Dim1_0, int Dim1_1, char i1, char j1>
U & eval_ref (const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
 

Detailed Description

template<int Dim0, int Dim1, char i, char j>
struct FTensor::Permutation2< Dim0, Dim1, i, j >

Definition at line 7 of file Permutation2.hpp.

Constructor & Destructor Documentation

◆ Permutation2()

template<int Dim0, int Dim1, char i, char j>
FTensor::Permutation2< Dim0, Dim1, i, j >::Permutation2 ( )
default

Member Function Documentation

◆ eval() [1/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U >
U FTensor::Permutation2< Dim0, Dim1, i, j >::eval ( const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 12 of file Permutation2.hpp.

14 {
15 return rhs(N0, N1);
16 }
static Number< 1 > N1
static Number< 0 > N0

◆ eval() [2/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U >
U FTensor::Permutation2< Dim0, Dim1, i, j >::eval ( const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 19 of file Permutation2.hpp.

21 {
22 return rhs(N1, N0);
23 }

◆ eval() [3/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U , int Dim1_0, int Dim1_1, char i1, char j1>
U FTensor::Permutation2< Dim0, Dim1, i, j >::eval ( const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 26 of file Permutation2.hpp.

28 {
29 static_assert(error_when_instantiated<B>(), "Incompatible indices");
30 return rhs(0, 0);
31 }

◆ eval_ref() [1/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U >
U & FTensor::Permutation2< Dim0, Dim1, i, j >::eval_ref ( const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 34 of file Permutation2.hpp.

35 {
36 return *rhs.ptr(N0, N1);
37 }

◆ eval_ref() [2/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U >
U & FTensor::Permutation2< Dim0, Dim1, i, j >::eval_ref ( const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 40 of file Permutation2.hpp.

41 {
42 return rhs.ptr(N0, N1);;
43 }

◆ eval_ref() [3/3]

template<int Dim0, int Dim1, char i, char j>
template<class B , class U , int Dim1_0, int Dim1_1, char i1, char j1>
U & FTensor::Permutation2< Dim0, Dim1, i, j >::eval_ref ( const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &  rhs,
const int  N0,
const int  N1 
)
inline

Definition at line 46 of file Permutation2.hpp.

47 {
48 static_assert(error_when_instantiated<B>(), "Incompatible indices");
49 return rhs.ptr(N0, N1);;
50 }

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