carl  24.04
Computer ARithmetic Library
carl::MultivariateHorner< PolynomialType, strategy > Class Template Reference

#include <MultivariateHorner.h>

Inheritance diagram for carl::MultivariateHorner< PolynomialType, strategy >:
Collaboration diagram for carl::MultivariateHorner< PolynomialType, strategy >:

Public Member Functions

 MultivariateHorner ()=delete
 
 MultivariateHorner (const PolynomialType &inPut)
 
 MultivariateHorner (const PolynomialType &inPut, const std::map< Variable, Interval< double >> &map)
 
 MultivariateHorner (const PolynomialType &inPut, const std::map< Variable, Interval< double >> &map, int &counter)
 
 MultivariateHorner (const MultivariateHorner &)=default
 
 MultivariateHorner (MultivariateHorner &&)=default
 
MultivariateHorneroperator= (const MultivariateHorner &mh)=default
 
Variable getVariable () const
 
void setVariable (Variable::Arg &var)
 
std::shared_ptr< MultivariateHornergetDependent () const
 
void removeDependent ()
 
void removeIndepenent ()
 
void setDependent (std::shared_ptr< MultivariateHorner > dependent)
 
std::shared_ptr< MultivariateHornergetIndependent () const
 
void setIndependent (std::shared_ptr< MultivariateHorner > independent)
 
const CoeffTypegetDepConstant () const
 
void setDepConstant (const CoeffType &constant)
 
const CoeffTypegetIndepConstant () const
 
void setIndepConstant (const CoeffType &constant)
 
unsigned getExponent () const
 
void setExponent (const unsigned &exp)
 

Private Types

typedef PolynomialType::CoeffType CoeffType
 Datastructure to save Polynomes once they are transformed into a horner scheme: More...
 

Private Attributes

CoeffType mConst_dependent = static_cast<CoeffType>(0)
 
CoeffType mConst_independent = static_cast<CoeffType>(0)
 
Variable mVariable = Variable::NO_VARIABLE
 
unsigned mExponent = 1
 
std::shared_ptr< MultivariateHornermH_dependent
 
std::shared_ptr< MultivariateHornermH_independent
 

Detailed Description

template<typename PolynomialType, class strategy>
class carl::MultivariateHorner< PolynomialType, strategy >

Definition at line 23 of file MultivariateHorner.h.

Member Typedef Documentation

◆ CoeffType

template<typename PolynomialType , class strategy >
typedef PolynomialType::CoeffType carl::MultivariateHorner< PolynomialType, strategy >::CoeffType
private

Datastructure to save Polynomes once they are transformed into a horner scheme:

h = Variable * h_dependent + h_independent || Variable * const_dependent + const_independent || Variable * h_dependent + const_independent

Definition at line 34 of file MultivariateHorner.h.

Constructor & Destructor Documentation

◆ MultivariateHorner() [1/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( )
delete

◆ MultivariateHorner() [2/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( const PolynomialType &  inPut)

◆ MultivariateHorner() [3/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( const PolynomialType &  inPut,
const std::map< Variable, Interval< double >> &  map 
)

◆ MultivariateHorner() [4/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( const PolynomialType &  inPut,
const std::map< Variable, Interval< double >> &  map,
int &  counter 
)

◆ MultivariateHorner() [5/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( const MultivariateHorner< PolynomialType, strategy > &  )
default

◆ MultivariateHorner() [6/6]

template<typename PolynomialType , class strategy >
carl::MultivariateHorner< PolynomialType, strategy >::MultivariateHorner ( MultivariateHorner< PolynomialType, strategy > &&  )
default

Member Function Documentation

◆ getDepConstant()

template<typename PolynomialType , class strategy >
const CoeffType& carl::MultivariateHorner< PolynomialType, strategy >::getDepConstant ( ) const
inline

Definition at line 129 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ getDependent()

template<typename PolynomialType , class strategy >
std::shared_ptr<MultivariateHorner> carl::MultivariateHorner< PolynomialType, strategy >::getDependent ( ) const
inline

Definition at line 98 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ getExponent()

template<typename PolynomialType , class strategy >
unsigned carl::MultivariateHorner< PolynomialType, strategy >::getExponent ( ) const
inline

Definition at line 148 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ getIndepConstant()

template<typename PolynomialType , class strategy >
const CoeffType& carl::MultivariateHorner< PolynomialType, strategy >::getIndepConstant ( ) const
inline

Definition at line 139 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ getIndependent()

template<typename PolynomialType , class strategy >
std::shared_ptr<MultivariateHorner> carl::MultivariateHorner< PolynomialType, strategy >::getIndependent ( ) const
inline

Definition at line 119 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ getVariable()

template<typename PolynomialType , class strategy >
Variable carl::MultivariateHorner< PolynomialType, strategy >::getVariable ( ) const
inline

Definition at line 88 of file MultivariateHorner.h.

Here is the caller graph for this function:

◆ operator=()

template<typename PolynomialType , class strategy >
MultivariateHorner& carl::MultivariateHorner< PolynomialType, strategy >::operator= ( const MultivariateHorner< PolynomialType, strategy > &  mh)
default

◆ removeDependent()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::removeDependent ( )
inline

Definition at line 103 of file MultivariateHorner.h.

◆ removeIndepenent()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::removeIndepenent ( )
inline

Definition at line 108 of file MultivariateHorner.h.

◆ setDepConstant()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setDepConstant ( const CoeffType constant)
inline

Definition at line 134 of file MultivariateHorner.h.

◆ setDependent()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setDependent ( std::shared_ptr< MultivariateHorner< PolynomialType, strategy > >  dependent)
inline

Definition at line 113 of file MultivariateHorner.h.

◆ setExponent()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setExponent ( const unsigned &  exp)
inline

Definition at line 153 of file MultivariateHorner.h.

Here is the call graph for this function:

◆ setIndepConstant()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setIndepConstant ( const CoeffType constant)
inline

Definition at line 144 of file MultivariateHorner.h.

◆ setIndependent()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setIndependent ( std::shared_ptr< MultivariateHorner< PolynomialType, strategy > >  independent)
inline

Definition at line 124 of file MultivariateHorner.h.

◆ setVariable()

template<typename PolynomialType , class strategy >
void carl::MultivariateHorner< PolynomialType, strategy >::setVariable ( Variable::Arg var)
inline

Definition at line 93 of file MultivariateHorner.h.

Field Documentation

◆ mConst_dependent

template<typename PolynomialType , class strategy >
CoeffType carl::MultivariateHorner< PolynomialType, strategy >::mConst_dependent = static_cast<CoeffType>(0)
private

Definition at line 36 of file MultivariateHorner.h.

◆ mConst_independent

template<typename PolynomialType , class strategy >
CoeffType carl::MultivariateHorner< PolynomialType, strategy >::mConst_independent = static_cast<CoeffType>(0)
private

Definition at line 37 of file MultivariateHorner.h.

◆ mExponent

template<typename PolynomialType , class strategy >
unsigned carl::MultivariateHorner< PolynomialType, strategy >::mExponent = 1
private

Definition at line 39 of file MultivariateHorner.h.

◆ mH_dependent

template<typename PolynomialType , class strategy >
std::shared_ptr<MultivariateHorner> carl::MultivariateHorner< PolynomialType, strategy >::mH_dependent
private

Definition at line 40 of file MultivariateHorner.h.

◆ mH_independent

template<typename PolynomialType , class strategy >
std::shared_ptr<MultivariateHorner> carl::MultivariateHorner< PolynomialType, strategy >::mH_independent
private

Definition at line 41 of file MultivariateHorner.h.

◆ mVariable

template<typename PolynomialType , class strategy >
Variable carl::MultivariateHorner< PolynomialType, strategy >::mVariable = Variable::NO_VARIABLE
private

Definition at line 38 of file MultivariateHorner.h.


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