TVM  0.9.4
tvm::scheme::internal::WeightMultBase< MINUS > Class Reference

#include <tvm/scheme/internal/CompiledAssignment.h>

Public Member Functions

 WeightMultBase (NoArg)
 
double applyWeightMult (const double &M)
 
template<typename Derived >
decltype(-std::declval< Eigen::MatrixBase< Derived >>()) applyWeightMult (const Eigen::MatrixBase< Derived > &M)
 
template<typename Derived , typename Lhs , typename Rhs >
decltype((-std::declval< Lhs >()) *std::declval< Rhs >()) applyWeightMult (const Eigen::ProductBase< Derived, Lhs, Rhs > &P)
 

Static Public Attributes

static const bool useArg = false
 

Detailed Description

Specialization for MINUS

Constructor & Destructor Documentation

◆ WeightMultBase()

Member Function Documentation

◆ applyWeightMult() [1/3]

double tvm::scheme::internal::WeightMultBase< MINUS >::applyWeightMult ( const double &  M)
inline

◆ applyWeightMult() [2/3]

template<typename Derived >
decltype(-std::declval<Eigen::MatrixBase<Derived>>()) tvm::scheme::internal::WeightMultBase< MINUS >::applyWeightMult ( const Eigen::MatrixBase< Derived > &  M)
inline

◆ applyWeightMult() [3/3]

template<typename Derived , typename Lhs , typename Rhs >
decltype((-std::declval<Lhs>()) * std::declval<Rhs>()) tvm::scheme::internal::WeightMultBase< MINUS >::applyWeightMult ( const Eigen::ProductBase< Derived, Lhs, Rhs > &  P)
inline

We need this specialization because, oddly, -(A*B) relies on a temporary evaluation while (-A)*B does not

Member Data Documentation

◆ useArg

const bool tvm::scheme::internal::WeightMultBase< MINUS >::useArg = false
static

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