v0.14.0
Public Member Functions | List of all members
FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l > Struct Template Reference

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

Public Member Functions

 Permutation4 ()=default
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim1, Dim3, Dim2, i, j, l, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim2, Dim1, Dim3, i, k, j, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim2, Dim3, Dim1, i, k, l, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim3, Dim1, Dim2, i, l, j, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim0, Dim3, Dim2, Dim1, i, l, k, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim0, Dim2, Dim3, j, i, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim0, Dim3, Dim2, j, i, l, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim2, Dim0, Dim3, j, k, i, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim2, Dim3, Dim0, j, k, l, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim3, Dim0, Dim2, j, l, i, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim1, Dim3, Dim2, Dim0, j, l, k, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim1, Dim0, Dim3, k, j, i, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim1, Dim3, Dim0, k, j, l, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim0, Dim1, Dim3, k, i, j, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim0, Dim3, Dim1, k, i, l, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim3, Dim1, Dim0, k, l, j, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim2, Dim3, Dim0, Dim1, k, l, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim1, Dim2, Dim0, l, j, k, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim1, Dim0, Dim2, l, j, i, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim2, Dim1, Dim0, l, k, j, i > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim2, Dim0, Dim1, l, k, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim0, Dim1, Dim2, l, i, j, k > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Tensor4_Expr< B, U, Dim3, Dim0, Dim2, Dim1, l, i, k, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U , int Dim1_0, int Dim1_1, int Dim1_2, int Dim1_3, char i1, char j1, char k1, char l1>
eval (const Tensor4_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, Dim1_3, i1, j1, k1, l1 > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Ddg_Expr< B, U, Dim0, Dim2, i, j, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U >
eval (const Ddg_Expr< B, U, Dim0, Dim2, k, l, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class B , class U , int Dim1_01, int Dim1_23, char i1, char j1, char k1, char l1>
eval (const Ddg_Expr< B, U, Dim1_01, Dim1_23, i1, j1, k1, l1 > &rhs, const int N0, const int N1, const int N2, const int N3)
 

Detailed Description

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
struct FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >

Definition at line 9 of file Permutation4.hpp.

Constructor & Destructor Documentation

◆ Permutation4()

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::Permutation4 ( )
default

Member Function Documentation

◆ eval() [1/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Ddg_Expr< B, U, Dim0, Dim2, i, j, k, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 198 of file Permutation4.hpp.

199  {
200  static_assert(Dim0 == Dim1 && Dim2 == Dim3, "Incompatible indices");
201  return rhs(N0, N1, N2, N3);
202  }

◆ eval() [2/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Ddg_Expr< B, U, Dim0, Dim2, k, l, i, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 206 of file Permutation4.hpp.

207  {
208  static_assert(Dim2 == Dim3 & Dim0 == Dim1, "Incompatible indices");
209  return rhs(N2, N3, N0, N1);
210  }

◆ eval() [3/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U , int Dim1_01, int Dim1_23, char i1, char j1, char k1, char l1>
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Ddg_Expr< B, U, Dim1_01, Dim1_23, i1, j1, k1, l1 > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 215 of file Permutation4.hpp.

216  {
217  static_assert(error_when_instantiated<B>(), "Incompatible indices");
218  return rhs(0, 0, 0, 0);
219  }

◆ eval() [4/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 15 of file Permutation4.hpp.

17  {
18  return rhs(N0, N1, N2, N3);
19  }

◆ eval() [5/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim1, Dim3, Dim2, i, j, l, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 22 of file Permutation4.hpp.

24  {
25  return rhs(N0, N1, N3, N2);
26  }

◆ eval() [6/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim2, Dim1, Dim3, i, k, j, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 29 of file Permutation4.hpp.

31  {
32  return rhs(N0, N2, N1, N3);
33  }

◆ eval() [7/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim2, Dim3, Dim1, i, k, l, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 36 of file Permutation4.hpp.

38  {
39  return rhs(N0, N2, N3, N1);
40  }

◆ eval() [8/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim3, Dim1, Dim2, i, l, j, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 43 of file Permutation4.hpp.

45  {
46  return rhs(N0, N3, N1, N2);
47  }

◆ eval() [9/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim0, Dim3, Dim2, Dim1, i, l, k, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 50 of file Permutation4.hpp.

52  {
53  return rhs(N0, N3, N2, N1);
54  }

◆ eval() [10/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim0, Dim2, Dim3, j, i, k, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 58 of file Permutation4.hpp.

60  {
61  return rhs(N1, N0, N2, N3);
62  }

◆ eval() [11/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim0, Dim3, Dim2, j, i, l, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 65 of file Permutation4.hpp.

67  {
68  return rhs(N1, N0, N3, N2);
69  }

◆ eval() [12/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim2, Dim0, Dim3, j, k, i, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 72 of file Permutation4.hpp.

74  {
75  return rhs(N1, N2, N0, N3);
76  }

◆ eval() [13/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim2, Dim3, Dim0, j, k, l, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 79 of file Permutation4.hpp.

81  {
82  return rhs(N1, N2, N3, N0);
83  }

◆ eval() [14/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim3, Dim0, Dim2, j, l, i, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 86 of file Permutation4.hpp.

88  {
89  return rhs(N1, N3, N0, N2);
90  }

◆ eval() [15/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1, Dim3, Dim2, Dim0, j, l, k, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 93 of file Permutation4.hpp.

95  {
96  return rhs(N1, N3, N2, N0);
97  }

◆ eval() [16/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U , int Dim1_0, int Dim1_1, int Dim1_2, int Dim1_3, char i1, char j1, char k1, char l1>
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, Dim1_3, i1, j1, k1, l1 > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 188 of file Permutation4.hpp.

191  {
192  static_assert(error_when_instantiated<B>(), "Incompatible indices");
193  return rhs(0, 0, 0, 0);
194  }

◆ eval() [17/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim0, Dim1, Dim3, k, i, j, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 115 of file Permutation4.hpp.

117  {
118  return rhs(N2, N0, N1, N3);
119  }

◆ eval() [18/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim0, Dim3, Dim1, k, i, l, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 122 of file Permutation4.hpp.

124  {
125  return rhs(N2, N0, N3, N1);
126  }

◆ eval() [19/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim1, Dim0, Dim3, k, j, i, l > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 101 of file Permutation4.hpp.

103  {
104  return rhs(N2, N1, N0, N3);
105  }

◆ eval() [20/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim1, Dim3, Dim0, k, j, l, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 108 of file Permutation4.hpp.

110  {
111  return rhs(N2, N1, N3, N0);
112  }

◆ eval() [21/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim3, Dim0, Dim1, k, l, i, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 136 of file Permutation4.hpp.

138  {
139  return rhs(N2, N3, N0, N1);
140  }

◆ eval() [22/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim2, Dim3, Dim1, Dim0, k, l, j, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 129 of file Permutation4.hpp.

131  {
132  return rhs(N2, N3, N1, N0);
133  }

◆ eval() [23/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim0, Dim1, Dim2, l, i, j, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 172 of file Permutation4.hpp.

174  {
175  return rhs(N3, N0, N1, N2);
176  }

◆ eval() [24/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim0, Dim2, Dim1, l, i, k, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 179 of file Permutation4.hpp.

181  {
182  return rhs(N3, N0, N2, N1);
183  }

◆ eval() [25/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim1, Dim0, Dim2, l, j, i, k > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 151 of file Permutation4.hpp.

153  {
154  return rhs(N3, N1, N0, N2);
155  }

◆ eval() [26/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim1, Dim2, Dim0, l, j, k, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 144 of file Permutation4.hpp.

146  {
147  return rhs(N3, N1, N2, N0);
148  }

◆ eval() [27/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim2, Dim0, Dim1, l, k, i, j > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 165 of file Permutation4.hpp.

167  {
168  return rhs(N3, N2, N0, N1);
169  }

◆ eval() [28/28]

template<int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
template<class B , class U >
U FTensor::Permutation4< Dim0, Dim1, Dim2, Dim3, i, j, k, l >::eval ( const Tensor4_Expr< B, U, Dim3, Dim2, Dim1, Dim0, l, k, j, i > &  rhs,
const int  N0,
const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 158 of file Permutation4.hpp.

160  {
161  return rhs(N3, N2, N1, N0);
162  }

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