v0.8.15
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 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 40 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)

Definition at line 46 of file Ddg_Expr.hpp.

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

Definition at line 47 of file Ddg_Expr.hpp.

48  {
49  return iter(N1, N2, N3, N4);
50  }

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

262  {
263  T4Ddg_times_equals_generic<A, T, U, Dim01, Dim23>(iter, d)();
264  return *this;
265  }
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 184 of file Ddg_Expr_equals.hpp.

185  {
186  T4ddg_plus_equals_T4ddg(iter, result, Number<Dim01>(), Number<Dim01>(),
187  Number<Dim23>(), Number<Dim23>());
188  return *this;
189  }
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 > &)

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

197  {
198  return operator+=<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T>(result);
199  }

◆ 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  }
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 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 78 of file Ddg_Expr.hpp.

78  {
79  for (int ii = 0; ii != Dim01;++ii)
80  for (int jj = ii; jj != Dim01;++jj)
81  for (int kk = 0; kk != Dim23;++kk)
82  for (int ll = kk; ll != Dim23;++ll)
83  iter(ii, jj, kk, ll) = d;
84  return *this;
85  }
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

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 43 of file Ddg_Expr.hpp.


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