idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::GenerationPattern< GeneratedT, CoefficientT > Class Template Reference
Inheritance diagram for idol::GenerationPattern< GeneratedT, CoefficientT >:
Inheritance graph
Collaboration diagram for idol::GenerationPattern< GeneratedT, CoefficientT >:
Collaboration graph

Public Types

using KeyT = std::conditional_t< std::is_same_v< GeneratedT, Var >, Ctr, Var >
 

Public Member Functions

 GenerationPattern (idol::AffExpr< CoefficientT > t_constant, SparseVector< KeyT, idol::AffExpr< CoefficientT > > t_linear)
 
auto & constant ()
 
const auto & constant () const
 
auto & linear ()
 
const auto & linear () const
 
double generate_constant (const Point< CoefficientT > &t_values) const
 
LinExpr< KeyT > generate_linear (const Point< CoefficientT > &t_values) const
 
AffExpr< KeyT > operator() (const Point< CoefficientT > &t_values) const
 
GenerationPattern operator+= (const AffExpr< CoefficientT > &t_other)
 
GenerationPattern operator-= (const AffExpr< CoefficientT > &t_other)
 
GenerationPattern operator+= (const GenerationPattern &t_other)
 
GenerationPattern operator+= (double t_scalar)
 
GenerationPattern operator-= (const GenerationPattern &t_other)
 
GenerationPattern operator*= (const double t_scalar)
 
GenerationPattern operator/= (const double t_scalar)
 
GenerationPattern operator*= (const KeyT &t_key)
 

Protected Attributes

idol::AffExpr< CoefficientT > m_constant
 
SparseVector< KeyT, idol::AffExpr< CoefficientT > > m_linear
 

Detailed Description

template<class GeneratedT, class CoefficientT = idol::Var>
class idol::GenerationPattern< GeneratedT, CoefficientT >

Definition at line 19 of file GenerationPattern.h.

Member Typedef Documentation

◆ KeyT

template<class GeneratedT , class CoefficientT = idol::Var>
using idol::GenerationPattern< GeneratedT, CoefficientT >::KeyT = std::conditional_t<std::is_same_v<GeneratedT, Var>, Ctr, Var>

Definition at line 21 of file GenerationPattern.h.

Constructor & Destructor Documentation

◆ GenerationPattern()

template<class GeneratedT , class CoefficientT = idol::Var>
idol::GenerationPattern< GeneratedT, CoefficientT >::GenerationPattern ( idol::AffExpr< CoefficientT >  t_constant,
SparseVector< KeyT, idol::AffExpr< CoefficientT > >  t_linear 
)
inline

Definition at line 25 of file GenerationPattern.h.

Member Function Documentation

◆ constant() [1/2]

template<class GeneratedT , class CoefficientT = idol::Var>
auto & idol::GenerationPattern< GeneratedT, CoefficientT >::constant ( )
inline

Definition at line 28 of file GenerationPattern.h.

◆ constant() [2/2]

template<class GeneratedT , class CoefficientT = idol::Var>
const auto & idol::GenerationPattern< GeneratedT, CoefficientT >::constant ( ) const
inline

Definition at line 30 of file GenerationPattern.h.

◆ generate_constant()

template<class GeneratedT , class CoefficientT = idol::Var>
double idol::GenerationPattern< GeneratedT, CoefficientT >::generate_constant ( const Point< CoefficientT > &  t_values) const
inline

Definition at line 36 of file GenerationPattern.h.

◆ generate_linear()

template<class GeneratedT , class CoefficientT = idol::Var>
LinExpr< KeyT > idol::GenerationPattern< GeneratedT, CoefficientT >::generate_linear ( const Point< CoefficientT > &  t_values) const
inline

Definition at line 40 of file GenerationPattern.h.

◆ linear() [1/2]

template<class GeneratedT , class CoefficientT = idol::Var>
auto & idol::GenerationPattern< GeneratedT, CoefficientT >::linear ( )
inline

Definition at line 32 of file GenerationPattern.h.

◆ linear() [2/2]

template<class GeneratedT , class CoefficientT = idol::Var>
const auto & idol::GenerationPattern< GeneratedT, CoefficientT >::linear ( ) const
inline

Definition at line 34 of file GenerationPattern.h.

◆ operator()()

template<class GeneratedT , class CoefficientT = idol::Var>
AffExpr< KeyT > idol::GenerationPattern< GeneratedT, CoefficientT >::operator() ( const Point< CoefficientT > &  t_values) const
inline

Definition at line 50 of file GenerationPattern.h.

◆ operator*=() [1/2]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator*= ( const double  t_scalar)
inline

Definition at line 89 of file GenerationPattern.h.

◆ operator*=() [2/2]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator*= ( const KeyT &  t_key)
inline

Definition at line 101 of file GenerationPattern.h.

◆ operator+=() [1/3]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator+= ( const AffExpr< CoefficientT > &  t_other)
inline

Definition at line 56 of file GenerationPattern.h.

◆ operator+=() [2/3]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator+= ( const GenerationPattern< GeneratedT, CoefficientT > &  t_other)
inline

Definition at line 72 of file GenerationPattern.h.

◆ operator+=() [3/3]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator+= ( double  t_scalar)
inline

Definition at line 78 of file GenerationPattern.h.

◆ operator-=() [1/2]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator-= ( const AffExpr< CoefficientT > &  t_other)
inline

Definition at line 64 of file GenerationPattern.h.

◆ operator-=() [2/2]

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator-= ( const GenerationPattern< GeneratedT, CoefficientT > &  t_other)
inline

Definition at line 83 of file GenerationPattern.h.

◆ operator/=()

template<class GeneratedT , class CoefficientT = idol::Var>
GenerationPattern idol::GenerationPattern< GeneratedT, CoefficientT >::operator/= ( const double  t_scalar)
inline

Definition at line 95 of file GenerationPattern.h.

Member Data Documentation

◆ m_constant

template<class GeneratedT , class CoefficientT = idol::Var>
idol::AffExpr<CoefficientT> idol::GenerationPattern< GeneratedT, CoefficientT >::m_constant
protected

Definition at line 114 of file GenerationPattern.h.

◆ m_linear

template<class GeneratedT , class CoefficientT = idol::Var>
SparseVector<KeyT, idol::AffExpr<CoefficientT> > idol::GenerationPattern< GeneratedT, CoefficientT >::m_linear
protected

Definition at line 115 of file GenerationPattern.h.