v0.8.17
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>

Public Member Functions

 Tensor3_Expr (A &a)
 
Toperator() (const int N0, const int N1, const int N2)
 
T 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

A & iter
 

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 171 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)

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 
)

Definition at line 177 of file Tensor3_Expr.hpp.

177  {
178  return iter(N0, N1, N2, N);
179  }
const int N
Definition: speed_test.cpp:3

◆ 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

Definition at line 180 of file Tensor3_Expr.hpp.

180  {
181  return iter(N0, N1, N2, N);
182  }
const int N
Definition: speed_test.cpp:3

◆ 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)

Definition at line 190 of file Tensor3_Expr.hpp.

191  {
192  for (int ii = 0; ii < Dim0; ++ii)
193  for (int jj = 0; jj < Dim1; ++jj)
194  for (int kk = 0; kk < Dim2; ++kk) {
195  iter(ii, jj, kk, N) = permute(*this, rhs, ii, jj, kk);
196  }
197  return *this;
198  }
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
const int N
Definition: speed_test.cpp:3

◆ 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)

Definition at line 200 of file Tensor3_Expr.hpp.

201  {
202  return operator=<Tensor4_number_rhs_3<A, T, N>, T>(result);
203  }

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 173 of file Tensor3_Expr.hpp.


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