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

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

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

Public Member Functions

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

Private Attributes

Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, literA
 
Tensor3_Expr< B, U, Dim4, Dim5, Dim6, m, n, o > iterB
 

Detailed Description

template<class A, class B, class T, class U, int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, int Dim5, int Dim6, char i, char j, char k, char l, char m, char n, char o, int DimA, int DimX, int DimY, int DimZ, char a, char x, char y, char z>
class FTensor::Tensor4_times_Tensor3_triple< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, i, j, k, l, m, n, o, DimA, DimX, DimY, DimZ, a, x, y, z >

Definition at line 10 of file Tensor4_times_Tensor3_triple.hpp.

Constructor & Destructor Documentation

◆ Tensor4_times_Tensor3_triple()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, int Dim5, int Dim6, char i, char j, char k, char l, char m, char n, char o, int DimA, int DimX, int DimY, int DimZ, char a, char x, char y, char z>
FTensor::Tensor4_times_Tensor3_triple< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, i, j, k, l, m, n, o, DimA, DimX, DimY, DimZ, a, x, y, z >::Tensor4_times_Tensor3_triple ( const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &  iter_a,
const Tensor3_Expr< B, U, Dim4, Dim5, Dim6, m, n, o > &  iter_b 
)
inline

Definition at line 33 of file Tensor4_times_Tensor3_triple.hpp.

36  : iterA(iter_a), iterB(iter_b)
37  {}

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, int Dim6, char i, char j, char k, char l, char m, char n, char o, int DimA, int DimX, int DimY, int DimZ, char a, char x, char y, char z>
promote<T, U>::V FTensor::Tensor4_times_Tensor3_triple< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, i, j, k, l, m, n, o, DimA, DimX, DimY, DimZ, a, x, y, z >::operator() ( const int  N1) const
inline

Definition at line 16 of file Tensor4_times_Tensor3_triple.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  for(int zz = 0; zz < DimZ; ++zz)
22  {
23  // Permutation is where the indices get checked.
24  result
25  += Permutation4<DimA, DimX, DimY, DimZ, a, x, y, z>().eval(
26  iterA, N1, xx, yy, zz)
27  * Permutation3<DimX, DimY, DimZ, x, y, z>().eval(iterB, xx,
28  yy, zz);
29  }
30  return result;
31  }

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, int Dim6, char i, char j, char k, char l, char m, char n, char o, int DimA, int DimX, int DimY, int DimZ, char a, char x, char y, char z>
Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> FTensor::Tensor4_times_Tensor3_triple< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, i, j, k, l, m, n, o, DimA, DimX, DimY, DimZ, a, x, y, z >::iterA
private

Definition at line 12 of file Tensor4_times_Tensor3_triple.hpp.

◆ iterB

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, int Dim5, int Dim6, char i, char j, char k, char l, char m, char n, char o, int DimA, int DimX, int DimY, int DimZ, char a, char x, char y, char z>
Tensor3_Expr<B, U, Dim4, Dim5, Dim6, m, n, o> FTensor::Tensor4_times_Tensor3_triple< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, i, j, k, l, m, n, o, DimA, DimX, DimY, DimZ, a, x, y, z >::iterB
private

Definition at line 13 of file Tensor4_times_Tensor3_triple.hpp.


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