v0.13.2
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > Class Template Reference

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

Collaboration diagram for FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >:
[legend]

Public Member Functions

 Ddg_Expr (Ddg< A, Tensor_Dim01, Tensor_Dim23 > &a)
 
T operator() (const int N1, const int N2, const int N3, const int N4) const
 
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator= (const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result)
 
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator= (const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &result)
 
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator+= (const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result)
 
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator+= (const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &result)
 
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator-= (const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result)
 
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator-= (const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &result)
 
template<class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator*= (const U &d)
 
template<class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & operator= (const U &d)
 

Private Attributes

Ddg< A, Tensor_Dim01, Tensor_Dim23 > & iter
 

Detailed Description

template<class A, class T, int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
class FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >

Definition at line 42 of file Ddg_Expr.hpp.

Constructor & Destructor Documentation

◆ Ddg_Expr()

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::Ddg_Expr ( Ddg< A, Tensor_Dim01, Tensor_Dim23 > &  a)
inline

Definition at line 48 of file Ddg_Expr.hpp.

48: iter(a) {}
constexpr double a

Member Function Documentation

◆ operator()()

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
T FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator() ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
) const
inline

Definition at line 49 of file Ddg_Expr.hpp.

50 {
51 return iter(N1, N2, N3, N4);
52 }
static Number< 2 > N2
static Number< 1 > N1

◆ operator*=()

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
template<class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator*= ( const U &  d)

Definition at line 295 of file Ddg_Expr_equals.hpp.

296 {
297 T4Ddg_times_equals_generic<A, T, U, Dim01, Dim23>(iter, d)();
298 return *this;
299 }
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d(const Tensor0< T * > &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: dTensor0.hpp:27

◆ operator+=() [1/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator+= ( const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 193 of file Ddg_Expr_equals.hpp.

195 {
196 T4ddg_plus_equals_T4ddg(iter, result, Number<Dim01>(), Number<Dim01>(),
197 Number<Dim23>(), Number<Dim23>(),
198 Sign_of_T4ddg_plus_equals_T4ddg<true>());
199 return *this;
200 }
void T4ddg_plus_equals_T4ddg(A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &, const Op &)

◆ operator+=() [2/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator+= ( const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 205 of file Ddg_Expr_equals.hpp.

208 {
209 return operator+=<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T>(result);
210 }
const double T

◆ operator-=() [1/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator-= ( const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 216 of file Ddg_Expr_equals.hpp.

218 {
219 T4ddg_plus_equals_T4ddg(iter, result, Number<Dim01>(), Number<Dim01>(),
220 Number<Dim23>(), Number<Dim23>(),
221 Sign_of_T4ddg_plus_equals_T4ddg<false>());
222 return *this;
223 }

◆ operator-=() [2/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator-= ( const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 228 of file Ddg_Expr_equals.hpp.

231 {
232 return operator-=<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T>(result);
233 }

◆ operator=() [1/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
template<class B , class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator= ( const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 89 of file Ddg_Expr_equals.hpp.

91 {
92 T4ddg_equals_T4ddg(iter, result, Number<Dim01>(), Number<Dim01>(),
93 Number<Dim23>(), Number<Dim23>());
94 return *this;
95 }
void T4ddg_equals_T4ddg(A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)

◆ operator=() [2/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator= ( const Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > &  result)

Definition at line 100 of file Ddg_Expr_equals.hpp.

103 {
104 return operator=<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T>(result);
105 }

◆ operator=() [3/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
template<class U >
Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > & FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::operator= ( const U &  d)

Definition at line 362 of file Ddg_Expr_equals.hpp.

362 {
363 T4Ddg_equals_generic<A, T, U, Dim01, Dim23>(iter, d)();
364 return *this;
365 }

Member Data Documentation

◆ iter

template<class A , class T , int Tensor_Dim01, int Tensor_Dim23, int Dim01, int Dim23, char i, char j, char k, char l>
Ddg<A, Tensor_Dim01, Tensor_Dim23>& FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::iter
private

Definition at line 45 of file Ddg_Expr.hpp.


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