Eigen::symbolic::ProductExpr< Arg0, Arg1 > Class Template Reference

#include <SymbolicIndex.h>

+ Inheritance diagram for Eigen::symbolic::ProductExpr< Arg0, Arg1 >:

Public Member Functions

constexpr ProductExpr ()=default
 
constexpr ProductExpr (const Arg0 &arg0, const Arg1 &arg1)
 
template<typename... Tags, typename... Types>
constexpr Index eval_impl (const SymbolValue< Tags, Types > &... values) const
 
- Public Member Functions inherited from Eigen::symbolic::BaseExpr< ProductExpr< Arg0, Arg1 > >
constexpr const Derivedderived () const
 
constexpr Index eval (const SymbolValue< Tags, Types > &... values) const
 
constexpr NegateExpr< Derivedoperator- () const
 
constexpr AddExpr< Derived, ValueExpr<> > operator- (Index a) const
 
constexpr AddExpr< Derived, ValueExpr< internal::FixedInt<-N > > > operator- (internal::FixedInt< N >) const
 
constexpr AddExpr< Derived, NegateExpr< OtherDerived > > operator- (const BaseExpr< OtherDerived > &b) const
 
constexpr AddExpr< Derived, ValueExpr<> > operator+ (Index b) const
 
constexpr AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+ (internal::FixedInt< N >) const
 
constexpr AddExpr< Derived, OtherDerived > operator+ (const BaseExpr< OtherDerived > &b) const
 
constexpr ProductExpr< Derived, ValueExpr<> > operator* (Index a) const
 
constexpr ProductExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator* (internal::FixedInt< N >) const
 
constexpr ProductExpr< Derived, OtherDerived > operator* (const BaseExpr< OtherDerived > &b) const
 
constexpr QuotientExpr< Derived, ValueExpr<> > operator/ (Index a) const
 
constexpr QuotientExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator/ (internal::FixedInt< N >) const
 
constexpr QuotientExpr< Derived, OtherDerived > operator/ (const BaseExpr< OtherDerived > &b) const
 

Static Public Member Functions

template<typename... Tags, typename... Types>
static constexpr Index eval_at_compile_time_impl (const SymbolValue< Tags, Types > &...)
 
- Static Public Member Functions inherited from Eigen::symbolic::BaseExpr< ProductExpr< Arg0, Arg1 > >
static constexpr Index eval_at_compile_time (const SymbolValue< Tags, Types > &...)
 

Protected Attributes

Arg0 m_arg0
 
Arg1 m_arg1
 

Additional Inherited Members

- Public Types inherited from Eigen::symbolic::BaseExpr< ProductExpr< Arg0, Arg1 > >
using Derived = ProductExpr< Arg0, Arg1 >
 

Constructor & Destructor Documentation

◆ ProductExpr() [1/2]

template<typename Arg0 , typename Arg1 >
constexpr Eigen::symbolic::ProductExpr< Arg0, Arg1 >::ProductExpr ( )
constexprdefault

◆ ProductExpr() [2/2]

template<typename Arg0 , typename Arg1 >
constexpr Eigen::symbolic::ProductExpr< Arg0, Arg1 >::ProductExpr ( const Arg0 &  arg0,
const Arg1 &  arg1 
)
inlineconstexpr
399 : m_arg0(arg0), m_arg1(arg1) {}
Arg1 m_arg1
Definition: SymbolicIndex.h:415
Arg0 m_arg0
Definition: SymbolicIndex.h:414

Member Function Documentation

◆ eval_at_compile_time_impl()

template<typename Arg0 , typename Arg1 >
template<typename... Tags, typename... Types>
static constexpr Index Eigen::symbolic::ProductExpr< Arg0, Arg1 >::eval_at_compile_time_impl ( const SymbolValue< Tags, Types > &  ...)
inlinestaticconstexpr
407  {
408  constexpr Index v0 = Arg0::eval_at_compile_time_impl(SymbolValue<Tags, Types>{}...);
409  constexpr Index v1 = Arg1::eval_at_compile_time_impl(SymbolValue<Tags, Types>{}...);
410  return (v0 == Undefined || v1 == Undefined) ? Undefined : v0 * v1;
411  }
M1<< 1, 2, 3, 4, 5, 6, 7, 8, 9;Map< RowVectorXf > v1(M1.data(), M1.size())
const int Undefined
Definition: Constants.h:34
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83

References Eigen::Undefined, and v1().

◆ eval_impl()

template<typename Arg0 , typename Arg1 >
template<typename... Tags, typename... Types>
constexpr Index Eigen::symbolic::ProductExpr< Arg0, Arg1 >::eval_impl ( const SymbolValue< Tags, Types > &...  values) const
inlineconstexpr
402  {
403  return m_arg0.eval_impl(values...) * m_arg1.eval_impl(values...);
404  }

References Eigen::symbolic::ProductExpr< Arg0, Arg1 >::m_arg0, and Eigen::symbolic::ProductExpr< Arg0, Arg1 >::m_arg1.

Member Data Documentation

◆ m_arg0

template<typename Arg0 , typename Arg1 >
Arg0 Eigen::symbolic::ProductExpr< Arg0, Arg1 >::m_arg0
protected

◆ m_arg1

template<typename Arg0 , typename Arg1 >
Arg1 Eigen::symbolic::ProductExpr< Arg0, Arg1 >::m_arg1
protected

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