v0.8.14
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 > Class Template Reference

#include <src/ftensor/src/FTensor/Ddg/Ddg_Expr_equals.hpp>

Collaboration diagram for FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >:
[legend]

Public Member Functions

 T4Ddg_times_equals_generic (Ddg< A, Dim01, Dim23 > &a, const U &b)
 
void operator() ()
 

Private Member Functions

template<int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3>
void eval (const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<int Current_Dim1, int Current_Dim2, int Current_Dim3>
void eval (const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<int Current_Dim2, int Current_Dim3>
void eval (const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<int Current_Dim3>
void eval (const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
 
void eval (const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 

Private Attributes

Ddg< A, Dim01, Dim23 > & iter
 
const U & u
 

Detailed Description

template<class A, class T, class U, int Dim01, int Dim23>
class FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >

Definition at line 204 of file Ddg_Expr_equals.hpp.

Constructor & Destructor Documentation

◆ T4Ddg_times_equals_generic()

template<class A, class T, class U, int Dim01, int Dim23>
FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::T4Ddg_times_equals_generic ( Ddg< A, Dim01, Dim23 > &  a,
const U &  b 
)

Definition at line 249 of file Ddg_Expr_equals.hpp.

Member Function Documentation

◆ eval() [1/5]

template<class A, class T, class U, int Dim01, int Dim23>
template<int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::eval ( const Number< Current_Dim0 > &  ,
const Number< Current_Dim1 > &  ,
const Number< Current_Dim2 > &  ,
const Number< Current_Dim3 > &   
)
private

Definition at line 211 of file Ddg_Expr_equals.hpp.

212  {
213  iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
214  Current_Dim3 - 1) *= u;
215  eval(Number<Current_Dim0 - 1>(), Number<Current_Dim1>(),
216  Number<Current_Dim2>(), Number<Current_Dim3>());
217  }
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

◆ eval() [2/5]

template<class A, class T, class U, int Dim01, int Dim23>
template<int Current_Dim1, int Current_Dim2, int Current_Dim3>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::eval ( const Number< 1 > &  ,
const Number< Current_Dim1 > &  ,
const Number< Current_Dim2 > &  ,
const Number< Current_Dim3 > &   
)
private

Definition at line 220 of file Ddg_Expr_equals.hpp.

221  {
222  iter(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1) *= u;
223  eval(Number<Current_Dim1 - 1>(), Number<Current_Dim1 - 1>(),
224  Number<Current_Dim2>(), Number<Current_Dim3>());
225  }
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

◆ eval() [3/5]

template<class A, class T, class U, int Dim01, int Dim23>
template<int Current_Dim2, int Current_Dim3>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::eval ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< Current_Dim2 > &  ,
const Number< Current_Dim3 > &   
)
private

Definition at line 228 of file Ddg_Expr_equals.hpp.

229  {
230  iter(0, 0, Current_Dim2 - 1, Current_Dim3 - 1) *= u;
231  eval(Number<Dim01>(), Number<Dim01>(), Number<Current_Dim2 - 1>(),
232  Number<Current_Dim3>());
233  }
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

◆ eval() [4/5]

template<class A, class T, class U, int Dim01, int Dim23>
template<int Current_Dim3>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::eval ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< Current_Dim3 > &   
)
private

Definition at line 236 of file Ddg_Expr_equals.hpp.

237  {
238  iter(0, 0, 0, Current_Dim3 - 1) *= u;
239  eval(Number<Dim01>(), Number<Dim01>(), Number<Current_Dim3 - 1>(),
240  Number<Current_Dim3 - 1>());
241  }
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

◆ eval() [5/5]

template<class A, class T, class U, int Dim01, int Dim23>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::eval ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &   
)
private

Definition at line 243 of file Ddg_Expr_equals.hpp.

244  {
245  iter(0, 0, 0, 0) *= u;
246  }

◆ operator()()

template<class A, class T, class U, int Dim01, int Dim23>
void FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::operator() ( )

Definition at line 252 of file Ddg_Expr_equals.hpp.

252  {
253  eval(Number<Dim01>(), Number<Dim01>(), Number<Dim23>(), Number<Dim23>());
254  }
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

Member Data Documentation

◆ iter

template<class A, class T, class U, int Dim01, int Dim23>
Ddg<A, Dim01, Dim23>& FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::iter
private

Definition at line 206 of file Ddg_Expr_equals.hpp.

◆ u

template<class A, class T, class U, int Dim01, int Dim23>
const U& FTensor::T4Ddg_times_equals_generic< A, T, U, Dim01, Dim23 >::u
private

Definition at line 207 of file Ddg_Expr_equals.hpp.


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