v0.6.10
Public Member Functions | Private Attributes | List of all members
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 > Class Template Reference

#include <src/ftensor/src/FTensor/Tensor3_dg/Tensor3_dg_value.hpp>

Public Member Functions

 Tensor3_dg ()
 
 Tensor3_dg (T d000, T d001, T d010, T d011, T d110, T d111)
 
 Tensor3_dg (T d000, T d001, T d002, T d010, T d011, T d012, T d020, T d021, T d022, T d110, T d111, T d112, T d120, T d121, T d122, T d220, T d221, T d222)
 
 Tensor3_dg (T d000, T d001, T d002, T d003, T d010, T d011, T d012, T d013, T d020, T d021, T d022, T d023, T d030, T d031, T d032, T d033, T d110, T d111, T d112, T d113, T d120, T d121, T d122, T d123, T d130, T d131, T d132, T d133, T d220, T d221, T d222, T d223, T d230, T d231, T d232, T d233, T d330, T d331, T d332, T d333)
 
 Tensor3_dg (T d000, T d001, T d002, T d010, T d011, T d012, T d020, T d021, T d022, T d030, T d031, T d032, T d110, T d111, T d112, T d120, T d121, T d122, T d130, T d131, T d132, T d220, T d221, T d222, T d230, T d231, T d232, T d330, T d331, T d332)
 
T & operator() (const int N1, const int N2, const int N3)
 
operator() (const int N1, const int N2, const int N3) const
 
template<char i, char j, char k, int Dim01, int Dim2>
Tensor3_dg_Expr< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > operator() (const Index< i, Dim01 >, const Index< j, Dim01 >, const Index< k, Dim2 >)
 
template<char i, char j, char k, int Dim01, int Dim2>
Tensor3_dg_Expr< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > operator() (const Index< i, Dim01 >, const Index< j, Dim01 >, const Index< k, Dim2 >) const
 
template<char i, char j, int Dim>
Tensor1_Expr< const Tensor3_contracted_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim >, T, Dim, i > operator() (const Index< i, Dim >, const Index< j, Dim >, const Index< j, Dim >) const
 
template<char i, char j, int Dim>
Tensor1_Expr< const Tensor3_contracted_02< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim >, T, Dim, i > operator() (const Index< j, Dim >, const Index< i, Dim >, const Index< j, Dim >) const
 
template<char i, char j, int Dim01, int Dim2>
Tensor1_Expr< const Tensor3_contracted_01< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01 >, T, Dim2, i > operator() (const Index< j, Dim01 >, const Index< j, Dim01 >, const Index< i, Dim2 >) const
 
template<char i, char j, int N, int Dim1, int Dim2>
Tensor2_Expr< Tensor3_dg_number_rhs_0< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim1, Dim2, i, j > operator() (const Number< N >, const Index< i, Dim1 >, const Index< j, Dim2 >)
 
template<char i, char j, int N, int Dim1, int Dim2>
const Tensor2_Expr< const Tensor3_dg_number_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim1, Dim2, i, j > operator() (const Number< N >, const Index< i, Dim1 >, const Index< j, Dim2 >) const
 
template<char i, char j, int N, int Dim0, int Dim2>
Tensor2_Expr< Tensor3_dg_number_rhs_0< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim2, i, j > operator() (const Index< i, Dim0 >, const Number< N >, const Index< j, Dim2 >)
 
template<char i, char j, int N, int Dim0, int Dim2>
const Tensor2_Expr< const Tensor3_dg_number_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim2, i, j > operator() (const Index< i, Dim0 >, const Number< N >, const Index< j, Dim2 >) const
 
template<char i, char j, int N, int Dim>
Tensor2_symmetric_Expr< Tensor3_dg_number_rhs_2< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, j > operator() (const Index< i, Dim >, const Index< j, Dim >, const Number< N >)
 
template<char i, char j, int N, int Dim>
const Tensor2_symmetric_Expr< const Tensor3_dg_number_2< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, j > operator() (const Index< i, Dim >, const Index< j, Dim >, const Number< N >) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Index< i, Dim > index, const Number< N1 >, const Number< N2 >)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Index< i, Dim > index, const Number< N1 >, const Number< N2 >) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Number< N1 >, const Index< i, Dim > index, const Number< N2 >)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Number< N1 >, const Index< i, Dim > index, const Number< N2 >) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_01< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Number< N1 >, const Number< N2 >, const Index< i, Dim > index)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_01< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > operator() (const Number< N1 >, const Number< N2 >, const Index< i, Dim > index) const
 
template<char i, char j, int Dim1, int Dim2>
const Tensor2_Expr< const Tensor3_dg_numeral_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim1, Dim2, i, j > operator() (const int N, const Index< i, Dim1 >, const Index< j, Dim2 >) const
 
template<char i, char j, int Dim0, int Dim2>
const Tensor2_Expr< const Tensor3_dg_numeral_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim0, Dim2, i, j > operator() (const Index< i, Dim0 >, const int N, const Index< j, Dim2 >) const
 
template<char i, char j, int Dim>
const Tensor2_symmetric_Expr< const Tensor3_dg_numeral_2< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i, j > operator() (const Index< i, Dim >, const Index< j, Dim >, const int N) const
 
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > operator() (const Index< i, Dim > index, const int N1, const int N2) const
 
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > operator() (const int N1, const Index< i, Dim > index, const int N2) const
 
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_01< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > operator() (const int N1, const int N2, const Index< i, Dim > index) const
 
template<char i, char j, int Dim, int Dim12>
Tensor1_Expr< const Tensor3_contracted_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim12, i >, T, Dim, i > operator() (const Index< i, Dim > index1, const Index< j, Dim12 > index2, const Index< j, Dim12 > index3) const
 
template<char i, char j, int Dim, int Dim02>
Tensor1_Expr< const Tensor3_contracted_02< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim02, i >, T, Dim, i > operator() (const Index< j, Dim02 > index1, const Index< i, Dim > index2, const Index< j, Dim02 > index3) const
 
template<char i, char j, int Dim, int Dim01>
Tensor1_Expr< const Tensor3_contracted_01< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, i >, T, Dim, i > operator() (const Index< j, Dim01 > index1, const Index< j, Dim01 > index2, const Index< i, Dim > index3) const
 
template<char i, char j, int N, int Dim0, int Dim1>
Tensor2_Expr< Tensor3_dg_number_rhs_0< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim1, i, j > operator() (const Number< N > n1, const Index< i, Dim0 > index1, const Index< j, Dim1 > index2)
 
template<char i, char j, int N, int Dim0, int Dim1>
const Tensor2_Expr< const Tensor3_dg_number_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim1, i, j > operator() (const Number< N > n1, const Index< i, Dim0 > index1, const Index< j, Dim1 > index2) const
 
template<char i, char j, int N, int Dim0, int Dim1>
Tensor2_Expr< Tensor3_dg_number_rhs_0< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 > index1, const Number< N > n1, const Index< j, Dim1 > index2)
 
template<char i, char j, int N, int Dim0, int Dim1>
const Tensor2_Expr< const Tensor3_dg_number_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 > index1, const Number< N > n1, const Index< j, Dim1 > index2) const
 
template<char i, char j, int Dim0, int Dim1>
const Tensor2_Expr< const Tensor3_dg_numeral_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim0, Dim1, i, j > operator() (const int N, const Index< i, Dim0 > index1, const Index< j, Dim1 > index2) const
 
template<char i, char j, int Dim0, int Dim1>
const Tensor2_Expr< const Tensor3_dg_numeral_0< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 > index1, const int N, const Index< j, Dim1 > index2) const
 

Private Attributes

data [(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]
 

Detailed Description

template<class T, int Tensor_Dim01, int Tensor_Dim2>
class Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >

Definition at line 4 of file Tensor3_dg_value.hpp.

Constructor & Destructor Documentation

◆ Tensor3_dg() [1/5]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::Tensor3_dg ( )

Definition at line 8 of file Tensor3_dg_value.hpp.

8 {}

◆ Tensor3_dg() [2/5]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::Tensor3_dg ( d000,
d001,
d010,
d011,
d110,
d111 
)

Definition at line 11 of file Tensor3_dg_value.hpp.

12  {
14  (data,d000,d001,d010,d011,d110,d111);
15  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

◆ Tensor3_dg() [3/5]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::Tensor3_dg ( d000,
d001,
d002,
d010,
d011,
d012,
d020,
d021,
d022,
d110,
d111,
d112,
d120,
d121,
d122,
d220,
d221,
d222 
)

Definition at line 18 of file Tensor3_dg_value.hpp.

23  {
25  (data,d000,d001,d002,d010,d011,d012,d020,d021,
26  d022,d110,d111,d112,d120,d121,d122,d220,d221,d222);
27  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

◆ Tensor3_dg() [4/5]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::Tensor3_dg ( d000,
d001,
d002,
d003,
d010,
d011,
d012,
d013,
d020,
d021,
d022,
d023,
d030,
d031,
d032,
d033,
d110,
d111,
d112,
d113,
d120,
d121,
d122,
d123,
d130,
d131,
d132,
d133,
d220,
d221,
d222,
d223,
d230,
d231,
d232,
d233,
d330,
d331,
d332,
d333 
)

Definition at line 30 of file Tensor3_dg_value.hpp.

40  {
42  (data,d000,d001,d002,d003,d010,d011,d012,d013,
43  d020,d021,d022,d023,d030,d031,d032,d033,
44  d110,d111,d112,d113,d120,d121,d122,d123,
45  d130,d131,d132,d133,d220,d221,d222,d223,
46  d230,d231,d232,d233,d330,d331,d332,d333);
47  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

◆ Tensor3_dg() [5/5]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::Tensor3_dg ( d000,
d001,
d002,
d010,
d011,
d012,
d020,
d021,
d022,
d030,
d031,
d032,
d110,
d111,
d112,
d120,
d121,
d122,
d130,
d131,
d132,
d220,
d221,
d222,
d230,
d231,
d232,
d330,
d331,
d332 
)

Definition at line 50 of file Tensor3_dg_value.hpp.

55  {
57  (data,d000,d001,d002,d010,d011,d012,
58  d020,d021,d022,d030,d031,d032,
59  d110,d111,d112,d120,d121,d122,
60  d130,d131,d132,d220,d221,d222,
61  d230,d231,d232,d330,d331,d332);
62  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

Member Function Documentation

◆ operator()() [1/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim, int Dim12>
Tensor1_Expr<const Tensor3_contracted_12<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,Dim12,i>,T,Dim,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index1,
const Index< j, Dim12 >  index2,
const Index< j, Dim12 >  index3 
) const

Definition at line 38 of file Tensor3_dg_function_operator.hpp.

40 {
42  T,Dim12,i> TensorExpr;
43  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
44 }

◆ operator()() [2/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim, int Dim02>
Tensor1_Expr<const Tensor3_contracted_02<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,Dim02,i>,T,Dim,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< j, Dim02 >  index1,
const Index< i, Dim >  index2,
const Index< j, Dim02 >  index3 
) const

Definition at line 51 of file Tensor3_dg_function_operator.hpp.

53 {
55  T,Dim02,i> TensorExpr;
56  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
57 }

◆ operator()() [3/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim, int Dim01>
Tensor1_Expr<const Tensor3_contracted_01<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,Dim01,i>,T,Dim,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< j, Dim01 >  index1,
const Index< j, Dim01 >  index2,
const Index< i, Dim >  index3 
) const

Definition at line 64 of file Tensor3_dg_function_operator.hpp.

66 {
68  T,Dim01,i> TensorExpr;
69  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
70 }

◆ operator()() [4/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
T& Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N1,
const int  N2,
const int  N3 
)

Definition at line 67 of file Tensor3_dg_value.hpp.

68  {
69 #ifdef FTENSOR_DEBUG
70  if(N1>=Tensor_Dim01 || N1<0
71  || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
72  {
73  std::stringstream s;
74  s << "Bad index in Tensor3_dg<T,"
75  << Tensor_Dim01 << "," << Tensor_Dim2
76  << ">.operator("
77  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
78  throw std::runtime_error(s.str());
79  }
80 #endif
81  return N1>N2 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
82  : data[N2+(N1*(2*Tensor_Dim01-N1-1))/2][N3];
83  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

◆ operator()() [5/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim1>
Tensor2_Expr<Tensor3_dg_number_rhs_0<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,N>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N n1,
const Index< i, Dim0 >  index1,
const Index< j, Dim1 >  index2 
)

◆ operator()() [6/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
T Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N1,
const int  N2,
const int  N3 
) const

Definition at line 85 of file Tensor3_dg_value.hpp.

86  {
87 #ifdef FTENSOR_DEBUG
88  if(N1>=Tensor_Dim01 || N1<0
89  || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
90  {
91  std::stringstream s;
92  s << "Bad index in Tensor3_dg<T,"
93  << Tensor_Dim01 << "," << Tensor_Dim2
94  << ">.operator("
95  << N1 << "," << N2 << "," << N3 << ") const"
96  << std::endl;
97  throw std::runtime_error(s.str());
98  }
99 #endif
100  return N1>N2 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
101  : data[N2+(N1*(2*Tensor_Dim01-N1-1))/2][N3];
102  }
T data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]

◆ operator()() [7/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim1>
const Tensor2_Expr<const Tensor3_dg_number_0<const Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,N>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N n1,
const Index< i, Dim0 >  index1,
const Index< j, Dim1 >  index2 
) const

Definition at line 96 of file Tensor3_dg_function_operator.hpp.

99 {
101  return Tensor2_Expr<TensorExpr,T,Dim0,Dim1,i,j>(TensorExpr(*this));
102 }
const int N
Definition: speed_test.cpp:3

◆ operator()() [8/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, char k, int Dim01, int Dim2>
Tensor3_dg_Expr< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim01 >  index1,
const Index< j, Dim01 >  index2,
const Index< k, Dim2 >  index3 
)

Definition at line 109 of file Tensor3_dg_value.hpp.

111  {
113  T,Dim01,Dim2,i,j,k>(*this);
114  }

◆ operator()() [9/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim1>
Tensor2_Expr<Tensor3_dg_number_rhs_0<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,N>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  index1,
const Number< N n1,
const Index< j, Dim1 >  index2 
)

◆ operator()() [10/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, char k, int Dim01, int Dim2>
Tensor3_dg_Expr< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim01 >  index1,
const Index< j, Dim01 >  index2,
const Index< k, Dim2 >  index3 
) const

Definition at line 119 of file Tensor3_dg_value.hpp.

121  {
123  T,Dim01,Dim2,i,j,k>(*this);
124  }

◆ operator()() [11/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim1>
const Tensor2_Expr<const Tensor3_dg_number_0<const Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T,N>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  index1,
const Number< N n1,
const Index< j, Dim1 >  index2 
) const

Definition at line 122 of file Tensor3_dg_function_operator.hpp.

125 {
127  return Tensor2_Expr<TensorExpr,T,Dim0,Dim1,i,j>(TensorExpr(*this));
128 }
const int N
Definition: speed_test.cpp:3

◆ operator()() [12/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim>
Tensor1_Expr<const Tensor3_contracted_12<Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,Dim>,T,Dim,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  ,
const Index< j, Dim >  ,
const Index< j, Dim >   
) const

Definition at line 135 of file Tensor3_dg_value.hpp.

137  {
139  T,Dim> TensorExpr;
140  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
141  }

◆ operator()() [13/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim>
Tensor1_Expr<const Tensor3_contracted_02<Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,Dim>,T,Dim,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< j, Dim >  ,
const Index< i, Dim >  ,
const Index< j, Dim >   
) const

Definition at line 148 of file Tensor3_dg_value.hpp.

150  {
152  T,Dim> TensorExpr;
153  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
154  }

◆ operator()() [14/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim01, int Dim2>
Tensor1_Expr<const Tensor3_contracted_01<Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,Dim01>,T,Dim2,i> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< j, Dim01 >  ,
const Index< j, Dim01 >  ,
const Index< i, Dim2 >   
) const

Definition at line 161 of file Tensor3_dg_value.hpp.

163  {
165  T,Dim01> TensorExpr;
166  return Tensor1_Expr<TensorExpr,T,Dim2,i>(TensorExpr(*this));
167  }

◆ operator()() [15/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim1, int Dim2>
Tensor2_Expr<Tensor3_dg_number_rhs_0<Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>, T,N>,T,Dim1,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N ,
const Index< i, Dim1 >  ,
const Index< j, Dim2 >   
)

Definition at line 180 of file Tensor3_dg_value.hpp.

◆ operator()() [16/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim1, int Dim2>
const Tensor2_Expr<const Tensor3_dg_number_0<const Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,N>,T,Dim1,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N ,
const Index< i, Dim1 >  ,
const Index< j, Dim2 >   
) const

Definition at line 191 of file Tensor3_dg_value.hpp.

193  {
194  typedef const Tensor3_dg_number_0<const Tensor3_dg
195  <T,Tensor_Dim01,Tensor_Dim2>,T,N> TensorExpr;
196  return Tensor2_Expr<TensorExpr,T,Dim1,Dim2,i,j>(TensorExpr(*this));
197  }
const int N
Definition: speed_test.cpp:3

◆ operator()() [17/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim2>
Tensor2_Expr<Tensor3_dg_number_rhs_0<Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,N>,T,Dim0,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  ,
const Number< N ,
const Index< j, Dim2 >   
)

Definition at line 204 of file Tensor3_dg_value.hpp.

◆ operator()() [18/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim0, int Dim2>
const Tensor2_Expr<const Tensor3_dg_number_0<const Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T,N>,T,Dim0,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  ,
const Number< N ,
const Index< j, Dim2 >   
) const

Definition at line 215 of file Tensor3_dg_value.hpp.

217  {
218  typedef const Tensor3_dg_number_0<const Tensor3_dg
219  <T,Tensor_Dim01,Tensor_Dim2>,T,N> TensorExpr;
220  return Tensor2_Expr<TensorExpr,T,Dim0,Dim2,i,j>(TensorExpr(*this));
221  }
const int N
Definition: speed_test.cpp:3

◆ operator()() [19/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim>
Tensor2_symmetric_Expr< Tensor3_dg_number_rhs_2< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, j > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index1,
const Index< j, Dim >  index2,
const Number< N n1 
)

◆ operator()() [20/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int N, int Dim>
const Tensor2_symmetric_Expr< const Tensor3_dg_number_2< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, j > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index1,
const Index< j, Dim >  index2,
const Number< N n1 
) const

Definition at line 239 of file Tensor3_dg_value.hpp.

241  {
242  typedef const Tensor3_dg_number_2<const Tensor3_dg
243  <T,Tensor_Dim01,Tensor_Dim2>,T,N> TensorExpr;
244  return Tensor2_symmetric_Expr<TensorExpr,T,Dim,i,j>(TensorExpr(*this));
245  }
const int N
Definition: speed_test.cpp:3

◆ operator()() [21/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim0, int Dim1>
const Tensor2_Expr<const Tensor3_dg_numeral_0<const Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N,
const Index< i, Dim0 >  index1,
const Index< j, Dim1 >  index2 
) const

◆ operator()() [22/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index,
const Number< N1 >  n1,
const Number< N2 >  n2 
)

Definition at line 257 of file Tensor3_dg_value.hpp.

◆ operator()() [23/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim0, int Dim1>
const Tensor2_Expr<const Tensor3_dg_numeral_0<const Tensor3_dg<T,Tensor_Dim01,Tensor_Dim2>,T>, T,Dim0,Dim1,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  index1,
const int  N,
const Index< j, Dim1 >  index2 
) const

◆ operator()() [24/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index,
const Number< N1 >  n1,
const Number< N2 >  n2 
) const

Definition at line 268 of file Tensor3_dg_value.hpp.

270  {
271  typedef const Tensor3_dg_number_12<const Tensor3_dg
272  <T,Tensor_Dim01,Tensor_Dim2>,T,N1,N2> TensorExpr;
273  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
274  }

◆ operator()() [25/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_12< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N1 >  n1,
const Index< i, Dim >  index,
const Number< N2 >  n2 
)

Definition at line 283 of file Tensor3_dg_value.hpp.

◆ operator()() [26/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N1 >  n1,
const Index< i, Dim >  index,
const Number< N2 >  n2 
) const

Definition at line 294 of file Tensor3_dg_value.hpp.

296  {
297  typedef const Tensor3_dg_number_12<const Tensor3_dg
298  <T,Tensor_Dim01,Tensor_Dim2>,T,N1,N2> TensorExpr;
299  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
300  }

◆ operator()() [27/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Tensor3_dg_number_rhs_01< Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N1 >  n1,
const Number< N2 >  n2,
const Index< i, Dim >  index 
)

Definition at line 307 of file Tensor3_dg_value.hpp.

◆ operator()() [28/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Tensor3_dg_number_01< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Number< N1 >  n1,
const Number< N2 >  n2,
const Index< i, Dim >  index 
) const

Definition at line 318 of file Tensor3_dg_value.hpp.

320  {
321  typedef const Tensor3_dg_number_01<const Tensor3_dg
322  <T,Tensor_Dim01,Tensor_Dim2>,T,N1,N2> TensorExpr;
323  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this));
324  }

◆ operator()() [29/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim1, int Dim2>
const Tensor2_Expr<const Tensor3_dg_numeral_0<const Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T>,T,Dim1,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N,
const Index< i, Dim1 >  ,
const Index< j, Dim2 >   
) const

Definition at line 336 of file Tensor3_dg_value.hpp.

338  {
339  typedef const Tensor3_dg_numeral_0<const Tensor3_dg
340  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
341  return Tensor2_Expr<TensorExpr,T,Dim1,Dim2,i,j>(TensorExpr(*this,N));
342  }

◆ operator()() [30/34]

template<class T, int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim0, int Dim2>
const Tensor2_Expr<const Tensor3_dg_numeral_0<const Tensor3_dg <T,Tensor_Dim01,Tensor_Dim2>,T>,T,Dim0,Dim2,i,j> Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim0 >  ,
const int  N,
const Index< j, Dim2 >   
) const

Definition at line 349 of file Tensor3_dg_value.hpp.

351  {
352  typedef const Tensor3_dg_numeral_0<const Tensor3_dg
353  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
354  return Tensor2_Expr<TensorExpr,T,Dim0,Dim2,i,j>(TensorExpr(*this,N));
355  }

◆ operator()() [31/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, char j, int Dim>
const Tensor2_symmetric_Expr< const Tensor3_dg_numeral_2< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i, j > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index1,
const Index< j, Dim >  index2,
const int  N 
) const

Definition at line 362 of file Tensor3_dg_value.hpp.

364  {
365  typedef const Tensor3_dg_numeral_2<const Tensor3_dg
366  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
367  return Tensor2_symmetric_Expr<TensorExpr,T,Dim,i,j>(TensorExpr(*this,N));
368  }

◆ operator()() [32/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const Index< i, Dim >  index,
const int  N1,
const int  N2 
) const

Definition at line 378 of file Tensor3_dg_value.hpp.

380  {
381  typedef const Tensor3_dg_numeral_12<const Tensor3_dg
382  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
383  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this,N1,N2));
384  }

◆ operator()() [33/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_12< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N1,
const Index< i, Dim >  index,
const int  N2 
) const

Definition at line 393 of file Tensor3_dg_value.hpp.

395  {
396  typedef const Tensor3_dg_numeral_12<const Tensor3_dg
397  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
398  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this,N1,N2));
399  }

◆ operator()() [34/34]

template<class T , int Tensor_Dim01, int Tensor_Dim2>
template<char i, int Dim>
const Tensor1_Expr< const Tensor3_dg_numeral_01< const Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i > Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::operator() ( const int  N1,
const int  N2,
const Index< i, Dim >  index 
) const

Definition at line 406 of file Tensor3_dg_value.hpp.

408  {
409  typedef const Tensor3_dg_numeral_01<const Tensor3_dg
410  <T,Tensor_Dim01,Tensor_Dim2>,T> TensorExpr;
411  return Tensor1_Expr<TensorExpr,T,Dim,i>(TensorExpr(*this,N1,N2));
412  }

Member Data Documentation

◆ data

template<class T, int Tensor_Dim01, int Tensor_Dim2>
T Tensor3_dg< T, Tensor_Dim01, Tensor_Dim2 >::data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]
private

Definition at line 6 of file Tensor3_dg_value.hpp.


The documentation for this class was generated from the following files: