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

#include <src/ftensor/src/FTensor/Tensor2/Tensor2_times_Tensor1.hpp>

Collaboration diagram for FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >:
[legend]

Public Member Functions

 Tensor2_times_Tensor1_single (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &iter_a, const Tensor1_Expr< B, U, Dim2, k > &iter_b)
 
promote< T, U >::V operator() (const int N1) const
 

Private Attributes

const Tensor2_Expr< A, T, Dim0, Dim1, i, jiterA
 
const Tensor1_Expr< B, U, Dim2, kiterB
 

Detailed Description

template<class A, class B, class T, class U, int Dim0, int Dim1, int Dim2, char i, char j, char k, int DimA, int DimX, char a, char x>
class FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >

Definition at line 13 of file Tensor2_times_Tensor1.hpp.

Constructor & Destructor Documentation

◆ Tensor2_times_Tensor1_single()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int DimA, int DimX, char a, char x>
FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >::Tensor2_times_Tensor1_single ( const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &  iter_a,
const Tensor1_Expr< B, U, Dim2, k > &  iter_b 
)
inline

Definition at line 19 of file Tensor2_times_Tensor1.hpp.

21  : iterA(iter_a), iterB(iter_b)
22  {}

Member Function Documentation

◆ operator()()

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int DimA, int DimX, char a, char x>
promote<T, U>::V FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >::operator() ( const int  N1) const
inline

Definition at line 23 of file Tensor2_times_Tensor1.hpp.

24  {
25  typename promote<T, U>::V result(0);
26  for(int xx = 0; xx < DimX; ++xx)
27  {
28  result += iterB(xx)
29  * Permutation2<DimA, DimX, a, x>().eval(iterA, N1, xx);
30  }
31  return result;
32  }

Member Data Documentation

◆ iterA

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int DimA, int DimX, char a, char x>
const Tensor2_Expr<A, T, Dim0, Dim1, i, j> FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >::iterA
private

Definition at line 15 of file Tensor2_times_Tensor1.hpp.

◆ iterB

template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int DimA, int DimX, char a, char x>
const Tensor1_Expr<B, U, Dim2, k> FTensor::Tensor2_times_Tensor1_single< A, B, T, U, Dim0, Dim1, Dim2, i, j, k, DimA, DimX, a, x >::iterB
private

Definition at line 16 of file Tensor2_times_Tensor1.hpp.


The documentation for this class was generated from the following file:
FTensor::promote::V
T1 V
Definition: promote.hpp:17
FTensor::Tensor2_times_Tensor1_single::iterB
const Tensor1_Expr< B, U, Dim2, k > iterB
Definition: Tensor2_times_Tensor1.hpp:16
FTensor::Tensor2_times_Tensor1_single::iterA
const Tensor2_Expr< A, T, Dim0, Dim1, i, j > iterA
Definition: Tensor2_times_Tensor1.hpp:15