Loading...
Searching...
No Matches
idol::QuadExpr< KeyT, ValueT > Class Template Reference

Description

template<class KeyT = idol::Var, class ValueT = double>
class idol::QuadExpr< KeyT, ValueT >

Definition at line 16 of file QuadExpr.h.

Public Types

using iterator
using const_iterator

Public Methods

 QuadExpr (ValueT t_constant)
 QuadExpr (const KeyT &t_key)
 QuadExpr (LinExpr< KeyT, ValueT > t_expr)
 QuadExpr (AffExpr< KeyT, ValueT > t_expr)
 QuadExpr (const KeyT &t_key1, const KeyT &t_key2)
 QuadExpr (const ValueT &t_factor, const KeyT &t_key1, const KeyT &t_key2)
 QuadExpr (ValueT &&t_factor, const KeyT &t_key1, const KeyT &t_key2)
 QuadExpr (const ValueT &t_factor, const KeyT &t_key)
 QuadExpr (ValueT &&t_factor, const KeyT &t_key)
 QuadExpr (const QuadExpr &t_src)=default
 QuadExpr (QuadExpr &&) noexcept=default
QuadExpr & operator= (const QuadExpr &t_rhs)=default
QuadExpr & operator= (QuadExpr &&) noexcept=default
QuadExpr & operator+= (const QuadExpr &t_rhs)
QuadExpr & operator-= (const QuadExpr &t_rhs)
QuadExpr & operator*= (double t_rhs) override
QuadExpr & operator/= (double t_rhs) override
QuadExpr operator- () const
AffExpr< KeyT, ValueT > & affine ()
const AffExpr< KeyT, ValueT > & affine () const
bool has_quadratic () const
bool empty_all () const
bool is_zero (double t_tolerance) const override
void clear_all ()
virtual LinExpr & operator+= (const LinExpr< CommutativePair< idol::Var >, double > &t_rhs)
virtual SparseVectoroperator+= (const SparseVector &t_vector)
LinExpr & operator-= (const LinExpr< CommutativePair< idol::Var >, double > &t_rhs)
virtual SparseVectoroperator-= (const SparseVector &t_vector)
virtual SparseVectoroperator*= (std::conditional_t< std::is_arithmetic_v< double >, double, double > t_scalar)
virtual SparseVectoroperator/= (std::conditional_t< std::is_arithmetic_v< double >, double, double > t_scalar)
unsigned int size () const
bool empty () const
bool has_index (const idol::Var &t_index) const
bool has_index (const CommutativePair< idol::Var > &t_index) const
const double & get (const idol::Var &t_index1) const
void set (const idol::Var &t_index, const double &t_value)
void remove (const idol::Var &t_index)
void remove (const CommutativePair< idol::Var > &t_index)
void clear ()
void reserve (unsigned int t_capacity)
iterator begin ()
iterator end ()
const_iterator cbegin () const
const_iterator cend () const
SparseVectormerge_without_conflict (const SparseVector &t_vec)

Public Static Attributes

static LinExpr< CommutativePair< idol::Var >, double > Zero

Member Typedef Documentation

◆ const_iterator

using idol::SparseVector< idol::Var, double >::const_iterator
inherited

Definition at line 130 of file SparseVector.h.

◆ iterator

using idol::SparseVector< idol::Var, double >::iterator
inherited

Definition at line 129 of file SparseVector.h.

Constructor & Destructor Documentation

◆ QuadExpr() [1/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( ValueT t_constant)
inline

Definition at line 20 of file QuadExpr.h.

◆ QuadExpr() [2/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( const KeyT & t_key)
inline

Definition at line 21 of file QuadExpr.h.

◆ QuadExpr() [3/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( LinExpr< KeyT, ValueT > t_expr)
inline

Definition at line 22 of file QuadExpr.h.

◆ QuadExpr() [4/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( AffExpr< KeyT, ValueT > t_expr)
inline

Definition at line 23 of file QuadExpr.h.

◆ QuadExpr() [5/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( const KeyT & t_key1,
const KeyT & t_key2 )
inline

Definition at line 25 of file QuadExpr.h.

◆ QuadExpr() [6/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( const ValueT & t_factor,
const KeyT & t_key1,
const KeyT & t_key2 )
inline

Definition at line 26 of file QuadExpr.h.

◆ QuadExpr() [7/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( ValueT && t_factor,
const KeyT & t_key1,
const KeyT & t_key2 )
inline

Definition at line 27 of file QuadExpr.h.

◆ QuadExpr() [8/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( const ValueT & t_factor,
const KeyT & t_key )
inline

Definition at line 28 of file QuadExpr.h.

◆ QuadExpr() [9/9]

template<class KeyT = idol::Var, class ValueT = double>
idol::QuadExpr< KeyT, ValueT >::QuadExpr ( ValueT && t_factor,
const KeyT & t_key )
inline

Definition at line 29 of file QuadExpr.h.

Methods Documentation

◆ affine() [1/2]

template<class KeyT = idol::Var, class ValueT = double>
AffExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::affine ( )
inline

Definition at line 43 of file QuadExpr.h.

◆ affine() [2/2]

template<class KeyT = idol::Var, class ValueT = double>
const AffExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::affine ( ) const
inline

Definition at line 44 of file QuadExpr.h.

◆ begin()

iterator idol::SparseVector< idol::Var, double >::begin ( )
inlinenodiscardinherited

Definition at line 132 of file SparseVector.h.

◆ cbegin()

const_iterator idol::SparseVector< idol::Var, double >::cbegin ( ) const
inlinenodiscardinherited

Definition at line 140 of file SparseVector.h.

◆ cend()

const_iterator idol::SparseVector< idol::Var, double >::cend ( ) const
inlinenodiscardinherited

Definition at line 142 of file SparseVector.h.

◆ clear()

void idol::SparseVector< idol::Var, double >::clear ( )
inlineinherited

Definition at line 121 of file SparseVector.h.

◆ clear_all()

template<class KeyT, class ValueT>
void idol::QuadExpr< KeyT, ValueT >::clear_all ( )

Definition at line 56 of file QuadExpr.h.

◆ empty()

bool idol::SparseVector< idol::Var, double >::empty ( ) const
inlinenodiscardinherited

Definition at line 109 of file SparseVector.h.

◆ empty_all()

template<class KeyT = idol::Var, class ValueT = double>
bool idol::QuadExpr< KeyT, ValueT >::empty_all ( ) const
inlinenodiscard

Definition at line 48 of file QuadExpr.h.

◆ end()

iterator idol::SparseVector< idol::Var, double >::end ( )
inlinenodiscardinherited

Definition at line 134 of file SparseVector.h.

◆ get()

const double & idol::SparseVector< idol::Var, double >::get ( const idol::Var & t_index1) const
nodiscardinherited

Definition at line 113 of file SparseVector.h.

◆ has_index() [1/2]

bool idol::SparseVector< idol::Var, double >::has_index ( const idol::Var & t_index) const
inlinenodiscardinherited

Definition at line 111 of file SparseVector.h.

◆ has_index() [2/2]

bool idol::SparseVector< CommutativePair< idol::Var >, double >::has_index ( const CommutativePair< idol::Var > & t_index) const
inlinenodiscardinherited

Definition at line 111 of file SparseVector.h.

◆ has_quadratic()

template<class KeyT = idol::Var, class ValueT = double>
bool idol::QuadExpr< KeyT, ValueT >::has_quadratic ( ) const
inlinenodiscard

Definition at line 46 of file QuadExpr.h.

◆ is_zero()

template<class KeyT, class ValueT>
bool idol::QuadExpr< KeyT, ValueT >::is_zero ( double t_tolerance) const
nodiscardoverridevirtual

Reimplemented from idol::SparseVector< CommutativePair< idol::Var >, double >.

Definition at line 62 of file QuadExpr.h.

◆ merge_without_conflict()

idol::SparseVector< idol::Var, double > & idol::SparseVector< idol::Var, double >::merge_without_conflict ( const SparseVector & t_vec)
inherited

Definition at line 144 of file SparseVector.h.

◆ operator*=() [1/2]

idol::SparseVector< idol::Var, double > & idol::SparseVector< idol::Var, double >::operator*= ( std::conditional_t< std::is_arithmetic_v< double >, double, double > t_scalar)
virtualinherited

Definition at line 103 of file SparseVector.h.

◆ operator*=() [2/2]

template<class KeyT, class ValueT>
idol::QuadExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::operator*= ( double t_rhs)
override

Definition at line 81 of file QuadExpr.h.

◆ operator+=() [1/2]

idol::SparseVector< idol::Var, double > & idol::SparseVector< idol::Var, double >::operator+= ( const SparseVector & t_vector)
virtualinherited

Definition at line 101 of file SparseVector.h.

◆ operator+=() [2/2]

template<class KeyT, class ValueT>
idol::QuadExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::operator+= ( const QuadExpr< KeyT, ValueT > & t_rhs)

Definition at line 97 of file QuadExpr.h.

◆ operator-()

template<class KeyT, class ValueT>
idol::QuadExpr< KeyT, ValueT > idol::QuadExpr< KeyT, ValueT >::operator- ( ) const

Definition at line 67 of file QuadExpr.h.

◆ operator-=() [1/3]

idol::LinExpr< CommutativePair< idol::Var >, double > & idol::LinExpr< CommutativePair< idol::Var >, double >::operator-= ( const LinExpr< CommutativePair< idol::Var >, double > & t_rhs)
inherited

Definition at line 45 of file LinExpr.h.

◆ operator-=() [2/3]

idol::SparseVector< idol::Var, double > & idol::SparseVector< idol::Var, double >::operator-= ( const SparseVector & t_vector)
virtualinherited

Definition at line 102 of file SparseVector.h.

◆ operator-=() [3/3]

template<class KeyT, class ValueT>
idol::QuadExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::operator-= ( const QuadExpr< KeyT, ValueT > & t_rhs)

Definition at line 89 of file QuadExpr.h.

◆ operator/=() [1/2]

idol::SparseVector< idol::Var, double > & idol::SparseVector< idol::Var, double >::operator/= ( std::conditional_t< std::is_arithmetic_v< double >, double, double > t_scalar)
virtualinherited

Definition at line 104 of file SparseVector.h.

◆ operator/=() [2/2]

template<class KeyT, class ValueT>
idol::QuadExpr< KeyT, ValueT > & idol::QuadExpr< KeyT, ValueT >::operator/= ( double t_rhs)
override

Definition at line 74 of file QuadExpr.h.

◆ remove() [1/2]

void idol::SparseVector< idol::Var, double >::remove ( const idol::Var & t_index)
inlineinherited

Definition at line 119 of file SparseVector.h.

◆ remove() [2/2]

void idol::SparseVector< CommutativePair< idol::Var >, double >::remove ( const CommutativePair< idol::Var > & t_index)
inlineinherited

Definition at line 119 of file SparseVector.h.

◆ reserve()

void idol::SparseVector< idol::Var, double >::reserve ( unsigned int t_capacity)
inlineinherited

Definition at line 123 of file SparseVector.h.

◆ set()

void idol::SparseVector< idol::Var, double >::set ( const idol::Var & t_index,
const double & t_value )
inherited

Definition at line 115 of file SparseVector.h.

◆ size()

unsigned int idol::SparseVector< idol::Var, double >::size ( ) const
inlinenodiscardinherited

Definition at line 107 of file SparseVector.h.

Member Data Documentation

◆ Zero

idol::LinExpr< CommutativePair< idol::Var >, double > idol::LinExpr< CommutativePair< idol::Var >, double >::Zero
staticinherited

Definition at line 48 of file LinExpr.h.