v0.14.0
Public Member Functions | Private Attributes | List of all members
FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y > Class Template Reference

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

Collaboration diagram for FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >:
[legend]

Public Member Functions

 Tensor3_times_Tensor2_double (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &Itera, const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &Iterb)
 
promote< T, U >::V operator() (const int N1) const
 

Private Attributes

Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, kiterA
 
Tensor2_Expr< B, U, Dim3, Dim4, l, miterB
 

Detailed Description

template<class A, class B, class T, class U, int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m, int DimA, int DimX, int DimY, char a, char x, char y>
class FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >

Definition at line 14 of file Tensor3_times_Tensor2.hpp.

Constructor & Destructor Documentation

◆ Tensor3_times_Tensor2_double()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m, int DimA, int DimX, int DimY, char a, char x, char y>
FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >::Tensor3_times_Tensor2_double ( const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &  Itera,
const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &  Iterb 
)
inline

Definition at line 20 of file Tensor3_times_Tensor2.hpp.

23  : iterA(Itera), iterB(Iterb)
24  {}

Member Function Documentation

◆ operator()()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m, int DimA, int DimX, int DimY, char a, char x, char y>
promote<T, U>::V FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >::operator() ( const int  N1) const
inline

Definition at line 25 of file Tensor3_times_Tensor2.hpp.

26  {
27  typename promote<T, U>::V result(0);
28 
29  for(int xx = 0; xx < DimX; ++xx)
30  for(int yy = 0; yy < DimY; ++yy)
31  {
32  result += Permutation3<DimA, DimX, DimY, a, x, y>().eval(iterA, N1,
33  xx, yy)
34  * Permutation2<DimX, DimY, x, y>().eval(iterB, xx, yy);
35  }
36  return result;
37  }

Member Data Documentation

◆ iterA

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m, int DimA, int DimX, int DimY, char a, char x, char y>
Tensor3_Expr<A, T, Dim0, Dim1, Dim2, i, j, k> FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >::iterA
private

Definition at line 16 of file Tensor3_times_Tensor2.hpp.

◆ iterB

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m, int DimA, int DimX, int DimY, char a, char x, char y>
Tensor2_Expr<B, U, Dim3, Dim4, l, m> FTensor::Tensor3_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m, DimA, DimX, DimY, a, x, y >::iterB
private

Definition at line 17 of file Tensor3_times_Tensor2.hpp.


The documentation for this class was generated from the following file:
FTensor::Tensor3_times_Tensor2_double::iterB
Tensor2_Expr< B, U, Dim3, Dim4, l, m > iterB
Definition: Tensor3_times_Tensor2.hpp:17
FTensor::promote::V
T1 V
Definition: promote.hpp:17
FTensor::Tensor3_times_Tensor2_double::iterA
Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > iterA
Definition: Tensor3_times_Tensor2.hpp:16