v0.14.0
Public Member Functions | Private Attributes | List of all members
FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > Class Template Reference

#include <src/ftensor/src/FTensor/Riemann/Riemann_Expr.hpp>

Collaboration diagram for FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >:
[legend]

Public Member Functions

 Riemann_Expr (Riemann< A, Dim > &a)
 
operator() (const int N1, const int N2, const int N3, const int N4) const
 
template<class B , class U >
const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > & operator= (const Riemann_Expr< B, U, Dim, i, j, k, l > &result)
 
const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > & operator= (const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > &result)
 
template<class B , class U >
const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > & operator+= (const Riemann_Expr< B, U, Dim, i, j, k, l > &result)
 
template<class B , class U >
const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > & operator+= (const Riemann_Expr< B, U, Dim, j, i, k, l > &result)
 

Private Attributes

Riemann< A, Dim > & iter
 

Detailed Description

template<class A, class T, int Dim, char i, char j, char k, char l>
class FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >

Definition at line 28 of file Riemann_Expr.hpp.

Constructor & Destructor Documentation

◆ Riemann_Expr()

template<class A , class T , int Dim, char i, char j, char k, char l>
FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::Riemann_Expr ( Riemann< A, Dim > &  a)
inline

Definition at line 33 of file Riemann_Expr.hpp.

33 : iter(a) {}

Member Function Documentation

◆ operator()()

template<class A , class T , int Dim, char i, char j, char k, char l>
T FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::operator() ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
) const
inline

Definition at line 34 of file Riemann_Expr.hpp.

35  {
36  return iter.eval(N1, N2, N3, N4);
37  }

◆ operator+=() [1/2]

template<class A , class T , int Dim, char i, char j, char k, char l>
template<class B , class U >
const Riemann_Expr<Riemann<A, Dim>, T, Dim, i, j, k, l>& FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::operator+= ( const Riemann_Expr< B, U, Dim, i, j, k, l > &  result)
inline

Definition at line 63 of file Riemann_Expr.hpp.

64  {
65  iter(0, 1, 0, 1) += result(0, 1, 0, 1);
66  iter(0, 1, 0, 2) += result(0, 1, 0, 2);
67  iter(0, 2, 0, 2) += result(0, 2, 0, 2);
68  iter(0, 1, 1, 2) += result(0, 1, 1, 2);
69  iter(0, 2, 1, 2) += result(0, 2, 1, 2);
70  iter(1, 2, 1, 2) += result(1, 2, 1, 2);
71  return *this;
72  }

◆ operator+=() [2/2]

template<class A , class T , int Dim, char i, char j, char k, char l>
template<class B , class U >
const Riemann_Expr<Riemann<A, Dim>, T, Dim, i, j, k, l>& FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::operator+= ( const Riemann_Expr< B, U, Dim, j, i, k, l > &  result)
inline

Definition at line 79 of file Riemann_Expr.hpp.

80  {
81  iter(0, 1, 0, 1) -= result(0, 1, 0, 1);
82  iter(0, 1, 0, 2) -= result(0, 1, 0, 2);
83  iter(0, 2, 0, 2) -= result(0, 2, 0, 2);
84  iter(0, 1, 1, 2) -= result(0, 1, 1, 2);
85  iter(0, 2, 1, 2) -= result(0, 2, 1, 2);
86  iter(1, 2, 1, 2) -= result(1, 2, 1, 2);
87  return *this;
88  }

◆ operator=() [1/2]

template<class A , class T , int Dim, char i, char j, char k, char l>
template<class B , class U >
const Riemann_Expr<Riemann<A, Dim>, T, Dim, i, j, k, l>& FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::operator= ( const Riemann_Expr< B, U, Dim, i, j, k, l > &  result)
inline

Definition at line 45 of file Riemann_Expr.hpp.

46  {
47  iter(0, 1, 0, 1) = result(0, 1, 0, 1);
48  iter(0, 1, 0, 2) = result(0, 1, 0, 2);
49  iter(0, 2, 0, 2) = result(0, 2, 0, 2);
50  iter(0, 1, 1, 2) = result(0, 1, 1, 2);
51  iter(0, 2, 1, 2) = result(0, 2, 1, 2);
52  iter(1, 2, 1, 2) = result(1, 2, 1, 2);
53  return *this;
54  }

◆ operator=() [2/2]

template<class A , class T , int Dim, char i, char j, char k, char l>
const Riemann_Expr<Riemann<A, Dim>, T, Dim, i, j, k, l>& FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::operator= ( const Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l > &  result)
inline

Definition at line 57 of file Riemann_Expr.hpp.

58  {
59  return operator=<Riemann<A, Dim>, T>(result);
60  }

Member Data Documentation

◆ iter

template<class A , class T , int Dim, char i, char j, char k, char l>
Riemann<A, Dim>& FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::iter
private

Definition at line 30 of file Riemann_Expr.hpp.


The documentation for this class was generated from the following file:
a
constexpr double a
Definition: approx_sphere.cpp:30
FTensor::Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >::iter
Riemann< A, Dim > & iter
Definition: Riemann_Expr.hpp:30