v0.14.0
Public Member Functions | Private Attributes | List of all members
FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > Class Template Reference

#include <src/ftensor/src/FTensor/Dg/Dg_Expr.hpp>

Collaboration diagram for FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >:
[legend]

Public Member Functions

 Dg_Expr (Dg< A, Tensor_Dim01, Tensor_Dim2 > &a)
 
T & operator() (const int N1, const int N2, const int N3)
 
operator() (const int N1, const int N2, const int N3) const
 
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator= (const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result)
 
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator= (const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &result)
 
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator+= (const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result)
 
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator+= (const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &result)
 
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator-= (const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result)
 
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator-= (const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &result)
 
template<class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & operator= (const U &d)
 

Private Attributes

Dg< A, Tensor_Dim01, Tensor_Dim2 > & iter
 

Detailed Description

template<class A, class T, int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
class FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >

Definition at line 39 of file Dg_Expr.hpp.

Constructor & Destructor Documentation

◆ Dg_Expr()

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::Dg_Expr ( Dg< A, Tensor_Dim01, Tensor_Dim2 > &  a)
inline

Definition at line 44 of file Dg_Expr.hpp.

44 : iter(a) {}

Member Function Documentation

◆ operator()() [1/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
T& FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator() ( const int  N1,
const int  N2,
const int  N3 
)
inline

Definition at line 45 of file Dg_Expr.hpp.

46  {
47  return iter(N1, N2, N3);
48  }

◆ operator()() [2/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
T FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator() ( const int  N1,
const int  N2,
const int  N3 
) const
inline

Definition at line 49 of file Dg_Expr.hpp.

50  {
51  return iter(N1, N2, N3);
52  }

◆ operator+=() [1/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator+= ( const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &  result)

Definition at line 151 of file Dg_Expr_equals.hpp.

152  {
153  T3dg_plus_equals_T3dg(iter, result, Number<Dim01>(), Number<Dim01>(),
154  Number<Dim2>(),
155  Sign_of_T3dg_plus_equals_T3dg<true>());
156  return *this;
157  }

◆ operator+=() [2/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator+= ( const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &  result)

Definition at line 177 of file Dg_Expr_equals.hpp.

179  {
180  return operator+=<Dg<A, Tensor_Dim01, Tensor_Dim2>, T>(result);
181  }

◆ operator-=() [1/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator-= ( const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &  result)

Definition at line 164 of file Dg_Expr_equals.hpp.

164  {
165  T3dg_plus_equals_T3dg(iter, result, Number<Dim01>(), Number<Dim01>(),
166  Number<Dim2>(),
167  Sign_of_T3dg_plus_equals_T3dg<false>());
168  return *this;
169  }

◆ operator-=() [2/2]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator-= ( const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &  result)

Definition at line 187 of file Dg_Expr_equals.hpp.

189  {
190  return operator-=<Dg<A, Tensor_Dim01, Tensor_Dim2>, T>(result);
191  }

◆ operator=() [1/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
template<class B , class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator= ( const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &  result)

Definition at line 64 of file Dg_Expr_equals.hpp.

65  {
66  T3dg_equals_T3dg(iter, result, Number<Dim01>(), Number<Dim01>(),
67  Number<Dim2>());
68  return *this;
69  }

◆ operator=() [2/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator= ( const Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > &  result)

Definition at line 77 of file Dg_Expr_equals.hpp.

79  {
80  return operator=<Dg<A, Tensor_Dim01, Tensor_Dim2>, T>(result);
81  }

◆ operator=() [3/3]

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
template<class U >
Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k > & FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::operator= ( const U &  d)

Definition at line 245 of file Dg_Expr_equals.hpp.

246  {
247  T3dg_equals_generic(iter, u, Number<Dim01>(), Number<Dim01>(),
248  Number<Dim2>(), Number<Dim01>(), Number<Dim2>());
249  return *this;
250  }

Member Data Documentation

◆ iter

template<class A , class T , int Tensor_Dim01, int Tensor_Dim2, int Dim01, int Dim2, char i, char j, char k>
Dg<A, Tensor_Dim01, Tensor_Dim2>& FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::iter
private

Definition at line 41 of file Dg_Expr.hpp.


The documentation for this class was generated from the following files:
FTensor::T3dg_plus_equals_T3dg
void T3dg_plus_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Op &)
Definition: Dg_Expr_equals.hpp:102
a
constexpr double a
Definition: approx_sphere.cpp:30
FTensor::T3dg_equals_generic
void T3dg_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim01 > &, const Number< Dim2 > &)
Definition: Dg_Expr_equals.hpp:197
FTensor::T3dg_equals_T3dg
void T3dg_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
Definition: Dg_Expr_equals.hpp:15
FTensor::Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >::iter
Dg< A, Tensor_Dim01, Tensor_Dim2 > & iter
Definition: Dg_Expr.hpp:41