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

#include <src/ftensor/src/FTensor/Tensor4/Tensor4_times_Tensor2_double.hpp>

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

Public Member Functions

promote< T, U >::V operator() (const int N1, const int N2) const
 
 Tensor4_times_Tensor2_double (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &iter_a, const Tensor2_Expr< B, U, Dim4, Dim5, m, n > &iter_b)
 

Private Attributes

Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, literA
 
Tensor2_Expr< B, U, Dim4, Dim5, m, niterB
 

Detailed Description

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

Definition at line 10 of file Tensor4_times_Tensor2_double.hpp.

Constructor & Destructor Documentation

◆ Tensor4_times_Tensor2_double()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, int Dim5, char i, char j, char k, char l, char m, char n, int DimA, int DimB, int DimX, int DimY, char a, char b, char x, char y>
FTensor::Tensor4_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimX, DimY, a, b, x, y >::Tensor4_times_Tensor2_double ( const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &  iter_a,
const Tensor2_Expr< B, U, Dim4, Dim5, m, n > &  iter_b 
)
inline

Definition at line 30 of file Tensor4_times_Tensor2_double.hpp.

33  : iterA(iter_a), iterB(iter_b)
34  {}

Member Function Documentation

◆ operator()()

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

Definition at line 16 of file Tensor4_times_Tensor2_double.hpp.

17  {
18  typename promote<T, U>::V result(0);
19  for(int xx = 0; xx < DimX; ++xx)
20  for(int yy = 0; yy < DimY; ++yy)
21  {
22  // Permutation is where the indices get checked.
23  result += Permutation4<DimA, DimB, DimX, DimY, a, b, x, y>().eval(
24  iterA, N1, N2, xx, yy)
25  * Permutation2<DimX, DimY, x, y>().eval(iterB, xx, yy);
26  }
27  return result;
28  }

Member Data Documentation

◆ iterA

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, int Dim5, char i, char j, char k, char l, char m, char n, int DimA, int DimB, int DimX, int DimY, char a, char b, char x, char y>
Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> FTensor::Tensor4_times_Tensor2_double< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimX, DimY, a, b, x, y >::iterA
private

Definition at line 12 of file Tensor4_times_Tensor2_double.hpp.

◆ iterB

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

Definition at line 13 of file Tensor4_times_Tensor2_double.hpp.


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