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

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

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

Public Member Functions

promote< T, U >::V operator() (const int N1, const int N2, const int N3, const int N4) const
 
 Tensor4_times_Tensor2_single (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 DimC, int DimX, int DimY, char a, char b, char c, char x, char y>
class FTensor::Tensor4_times_Tensor2_single< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimC, DimX, DimY, a, b, c, x, y >

Definition at line 10 of file Tensor4_times_Tensor2_single.hpp.

Constructor & Destructor Documentation

◆ Tensor4_times_Tensor2_single()

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 DimC, int DimX, int DimY, char a, char b, char c, char x, char y>
FTensor::Tensor4_times_Tensor2_single< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimC, DimX, DimY, a, b, c, x, y >::Tensor4_times_Tensor2_single ( 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_single.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 DimC, int DimX, int DimY, char a, char b, char c, char x, char y>
promote<T, U>::V FTensor::Tensor4_times_Tensor2_single< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimC, DimX, DimY, a, b, c, x, y >::operator() ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
) const
inline

Definition at line 17 of file Tensor4_times_Tensor2_single.hpp.

18  {
19  typename promote<T, U>::V result(0);
20  for(int xx = 0; xx < DimX; ++xx)
21  {
22  // Permutation is where the indices get checked.
23  result += Permutation4<DimA, DimB, DimC, DimX, a, b, c, x>().eval(
24  iterA, N1, N2, N3, xx)
25  * Permutation2<DimX, DimY, x, y>().eval(iterB, xx, N4);
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 DimC, int DimX, int DimY, char a, char b, char c, char x, char y>
Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> FTensor::Tensor4_times_Tensor2_single< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimC, DimX, DimY, a, b, c, x, y >::iterA
private

Definition at line 12 of file Tensor4_times_Tensor2_single.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 DimC, int DimX, int DimY, char a, char b, char c, char x, char y>
Tensor2_Expr<B, U, Dim4, Dim5, m, n> FTensor::Tensor4_times_Tensor2_single< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, i, j, k, l, m, n, DimA, DimB, DimC, DimX, DimY, a, b, c, x, y >::iterB
private

Definition at line 13 of file Tensor4_times_Tensor2_single.hpp.


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