v0.14.0
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)
 
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) {}

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  }

◆ 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 296 of file Ddg_Expr_equals.hpp.

296  {
297  T4Ddg_times_equals_generic<A, T, U, Dim01, Dim23>(iter, d)();
298  return *this;
299  }

◆ 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 194 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  }

◆ 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 206 of file Ddg_Expr_equals.hpp.

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

◆ 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 217 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 229 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 90 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  }

◆ 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 101 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:
FTensor::d
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
FTensor::T4ddg_equals_T4ddg
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 > &)
Definition: Ddg_Expr_equals.hpp:13
FTensor::T4ddg_plus_equals_T4ddg
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 &)
Definition: Ddg_Expr_equals.hpp:124
FTensor::Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >::iter
Ddg< A, Tensor_Dim01, Tensor_Dim23 > & iter
Definition: Ddg_Expr.hpp:45
a
constexpr double a
Definition: approx_sphere.cpp:30