v0.14.0
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 238 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 
)
inline

Definition at line 283 of file Ddg_Expr_equals.hpp.

284  : iter(a), u(b) {}

Member Function Documentation

◆ eval() [1/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 > &   
)
inlineprivate

Definition at line 277 of file Ddg_Expr_equals.hpp.

278  {
279  iter(0, 0, 0, 0) *= u;
280  }

◆ eval() [2/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 > &   
)
inlineprivate

Definition at line 270 of file Ddg_Expr_equals.hpp.

271  {
272  iter(0, 0, 0, Current_Dim3 - 1) *= u;
273  eval(Number<Dim01>(), Number<Dim01>(), Number<Current_Dim3 - 1>(),
274  Number<Current_Dim3 - 1>());
275  }

◆ 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 > &   
)
inlineprivate

Definition at line 262 of file Ddg_Expr_equals.hpp.

263  {
264  iter(0, 0, Current_Dim2 - 1, Current_Dim3 - 1) *= u;
265  eval(Number<Dim01>(), Number<Dim01>(), Number<Current_Dim2 - 1>(),
266  Number<Current_Dim3>());
267  }

◆ eval() [4/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 > &   
)
inlineprivate

Definition at line 254 of file Ddg_Expr_equals.hpp.

255  {
256  iter(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1) *= u;
257  eval(Number<Current_Dim1 - 1>(), Number<Current_Dim1 - 1>(),
258  Number<Current_Dim2>(), Number<Current_Dim3>());
259  }

◆ eval() [5/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 > &   
)
inlineprivate

Definition at line 245 of file Ddg_Expr_equals.hpp.

246  {
247  iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
248  Current_Dim3 - 1) *= u;
249  eval(Number<Current_Dim0 - 1>(), Number<Current_Dim1>(),
250  Number<Current_Dim2>(), Number<Current_Dim3>());
251  }

◆ operator()()

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

Definition at line 286 of file Ddg_Expr_equals.hpp.

286  {
287  eval(Number<Dim01>(), Number<Dim01>(), Number<Dim23>(), Number<Dim23>());
288  }

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 240 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 241 of file Ddg_Expr_equals.hpp.


The documentation for this class was generated from the following file:
FTensor::T4Ddg_times_equals_generic::iter
Ddg< A, Dim01, Dim23 > & iter
Definition: Ddg_Expr_equals.hpp:240
a
constexpr double a
Definition: approx_sphere.cpp:30
FTensor::T4Ddg_times_equals_generic::eval
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
Definition: Ddg_Expr_equals.hpp:245
FTensor::T4Ddg_times_equals_generic::u
const U & u
Definition: Ddg_Expr_equals.hpp:241