v0.14.0
Public Member Functions | Private Attributes | List of all members
FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > Class Template Reference

#include <src/ftensor/src/FTensor/Tensor3/Tensor3_Expr.hpp>

Collaboration diagram for FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >:
[legend]

Public Member Functions

 Tensor3_Expr (A &a)
 
T & operator() (const int N0, const int N1, const int N2)
 
operator() (const int N0, const int N1, const int N2) const
 
template<class B , class U , int Dim1_0, int Dim1_1, int Dim1_2, char i_1, char j_1, char k_1>
auto & operator= (const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
 
auto & operator= (const Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > &result)
 

Private Attributes

Aiter
 

Detailed Description

template<class A, class T, int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
class FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >

Definition at line 259 of file Tensor3_Expr.hpp.

Constructor & Destructor Documentation

◆ Tensor3_Expr()

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::Tensor3_Expr ( A a)
inline

Definition at line 264 of file Tensor3_Expr.hpp.

264 : iter(a) {}

Member Function Documentation

◆ operator()() [1/2]

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
T& FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator() ( const int  N0,
const int  N1,
const int  N2 
)
inline

Definition at line 265 of file Tensor3_Expr.hpp.

265  {
266  return iter(N0, N1, N2, N);
267  }

◆ operator()() [2/2]

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
T FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator() ( const int  N0,
const int  N1,
const int  N2 
) const
inline

Definition at line 268 of file Tensor3_Expr.hpp.

268  {
269  return iter(N0, N1, N2, N);
270  }

◆ operator=() [1/2]

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
template<class B , class U , int Dim1_0, int Dim1_1, int Dim1_2, char i_1, char j_1, char k_1>
auto& FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator= ( const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &  rhs)
inline

Definition at line 278 of file Tensor3_Expr.hpp.

279  {
280 
281  for (int ii = 0; ii < Dim0; ++ii)
282  for (int jj = 0; jj < Dim1; ++jj)
283  for (int kk = 0; kk < Dim2; ++kk) {
284  iter(ii, jj, kk, N) = permute(*this, rhs, ii, jj, kk);
285  }
286  return *this;
287  }

◆ operator=() [2/2]

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
auto& FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator= ( const Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > &  result)
inline

Definition at line 289 of file Tensor3_Expr.hpp.

290  {
291  return operator=<Tensor4_number_rhs_3<A, T, N>, T>(result);
292  }

Member Data Documentation

◆ iter

template<class A , class T , int Dim0, int Dim1, int Dim2, char i, char j, char k, int N>
A& FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::iter
private

Definition at line 261 of file Tensor3_Expr.hpp.


The documentation for this class was generated from the following file:
FTensor::Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::iter
A & iter
Definition: Tensor3_Expr.hpp:261
FTensor::permute
U permute(const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
Definition: permute.hpp:11
a
constexpr double a
Definition: approx_sphere.cpp:30
N
const int N
Definition: speed_test.cpp:3