v0.14.0
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  }

◆ 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: