QMCPACK
OTDot< TinyVector< T1, 4 >, Tensor< T2, 4 > > Struct Template Reference
+ Collaboration diagram for OTDot< TinyVector< T1, 4 >, Tensor< T2, 4 > >:

Public Types

using Type_t = typename BinaryReturn< T1, T2, OpMultiply >::Type_t
 

Static Public Member Functions

static TinyVector< Type_t, 4 > apply (const TinyVector< T1, 4 > &lhs, const Tensor< T2, 4 > &rhs)
 

Detailed Description

template<class T1, class T2>
struct qmcplusplus::OTDot< TinyVector< T1, 4 >, Tensor< T2, 4 > >

Definition at line 151 of file TinyVectorTensorOps.h.

Member Typedef Documentation

◆ Type_t

using Type_t = typename BinaryReturn<T1, T2, OpMultiply>::Type_t

Definition at line 153 of file TinyVectorTensorOps.h.

Member Function Documentation

◆ apply()

static TinyVector<Type_t, 4> apply ( const TinyVector< T1, 4 > &  lhs,
const Tensor< T2, 4 > &  rhs 
)
inlinestatic

Definition at line 154 of file TinyVectorTensorOps.h.

155  {
156  return TinyVector<Type_t, 4>(lhs[0] * rhs[0] + lhs[1] * rhs[4] + lhs[2] * rhs[8] + lhs[3] * rhs[12],
157  lhs[0] * rhs[1] + lhs[1] * rhs[5] + lhs[2] * rhs[9] + lhs[3] * rhs[13],
158  lhs[0] * rhs[2] + lhs[1] * rhs[6] + lhs[2] * rhs[10] + lhs[3] * rhs[14],
159  lhs[0] * rhs[3] + lhs[1] * rhs[7] + lhs[2] * rhs[11] + lhs[3] * rhs[15]);
160  }

The documentation for this struct was generated from the following file: