v0.8.17
Public Member Functions | Private Attributes | List of all members
FTensor::Tensor3_Expr< Tensor4_number_rhs_2< 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_2< 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_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >

Definition at line 131 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_2< 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_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator() ( const int  N0,
const int  N1,
const int  N2 
)

Definition at line 137 of file Tensor3_Expr.hpp.

137  {
138  return iter(N0, N1, N2, N);
139  }
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_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator() ( const int  N0,
const int  N1,
const int  N2 
) const

Definition at line 140 of file Tensor3_Expr.hpp.

140  {
141  return iter(N0, N1, N2, N);
142  }
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_2< 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 150 of file Tensor3_Expr.hpp.

151  {
152  for (int ii = 0; ii < Dim0; ++ii)
153  for (int jj = 0; jj < Dim1; ++jj)
154  for (int kk = 0; kk < Dim2; ++kk) {
155  iter(ii, jj, N, kk) = permute(*this, rhs, ii, jj, kk);
156  }
157  return *this;
158  }
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_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::operator= ( const Tensor3_Expr< Tensor4_number_rhs_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > &  result)

Definition at line 160 of file Tensor3_Expr.hpp.

161  {
162  return operator=<Tensor4_number_rhs_2<A, T, N>, T>(result);
163  }

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_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >::iter
private

Definition at line 133 of file Tensor3_Expr.hpp.


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