carl  24.04
Computer ARithmetic Library
carl::ModelMVRootSubstitution< Rational, Poly > Class Template Reference

#include <ModelMVRootSubstitution.h>

Inheritance diagram for carl::ModelMVRootSubstitution< Rational, Poly >:
Collaboration diagram for carl::ModelMVRootSubstitution< Rational, Poly >:

Public Types

using MVRoot = MultivariateRoot< Poly >
 

Public Member Functions

 ModelMVRootSubstitution (const MVRoot &r)
 
virtual void multiplyBy (const Rational &)
 Multiply this model substitution by a rational. More...
 
virtual void add (const Rational &)
 Add a rational to this model substitution. More...
 
virtual ModelSubstitutionPtr< Rational, Poly > clone () const
 Create a copy of this model substitution. More...
 
virtual Formula< Poly > representingFormula (const ModelVariable &mv)
 
virtual ModelValue< Rational, Poly > evaluateSubstitution (const Model< Rational, Poly > &m) const
 Evaluate this substitution with respect to the given model. More...
 
virtual bool dependsOn (const ModelVariable &var) const
 Check if this substitution needs the given model variable. More...
 
virtual void print (std::ostream &os) const
 Print this substitution to the given output stream. More...
 
const ModelValue< Rational, Poly > & evaluate (const Model< Rational, Poly > &model) const
 
void resetCache () const
 
template<typename Iterator >
const ModelValue< Rational, Poly > & getModelValue (Iterator _mvit, Model< Rational, Poly > &_model)
 

Private Types

using Super = ModelSubstitution< Rational, Poly >
 

Private Attributes

MVRoot mRoot
 
std::optional< ModelValue< Rational, Poly > > mCachedValue
 

Detailed Description

template<typename Rational, typename Poly>
class carl::ModelMVRootSubstitution< Rational, Poly >

Definition at line 8 of file ModelMVRootSubstitution.h.

Member Typedef Documentation

◆ MVRoot

template<typename Rational , typename Poly >
using carl::ModelMVRootSubstitution< Rational, Poly >::MVRoot = MultivariateRoot<Poly>

Definition at line 10 of file ModelMVRootSubstitution.h.

◆ Super

template<typename Rational , typename Poly >
using carl::ModelMVRootSubstitution< Rational, Poly >::Super = ModelSubstitution<Rational,Poly>
private

Definition at line 12 of file ModelMVRootSubstitution.h.

Constructor & Destructor Documentation

◆ ModelMVRootSubstitution()

template<typename Rational , typename Poly >
carl::ModelMVRootSubstitution< Rational, Poly >::ModelMVRootSubstitution ( const MVRoot r)
inline

Definition at line 15 of file ModelMVRootSubstitution.h.

Member Function Documentation

◆ add()

template<typename Rational , typename Poly >
virtual void carl::ModelMVRootSubstitution< Rational, Poly >::add ( const Rational _number)
inlinevirtual

Add a rational to this model substitution.

Implements carl::ModelSubstitution< Rational, Poly >.

Definition at line 18 of file ModelMVRootSubstitution.h.

◆ clone()

template<typename Rational , typename Poly >
virtual ModelSubstitutionPtr<Rational,Poly> carl::ModelMVRootSubstitution< Rational, Poly >::clone ( ) const
inlinevirtual

Create a copy of this model substitution.

Implements carl::ModelSubstitution< Rational, Poly >.

Definition at line 19 of file ModelMVRootSubstitution.h.

◆ dependsOn()

template<typename Rational , typename Poly >
virtual bool carl::ModelMVRootSubstitution< Rational, Poly >::dependsOn ( const ModelVariable ) const
inlinevirtual

Check if this substitution needs the given model variable.

Reimplemented from carl::ModelSubstitution< Rational, Poly >.

Definition at line 29 of file ModelMVRootSubstitution.h.

Here is the call graph for this function:

◆ evaluate()

template<typename Rational , typename Poly >
const ModelValue<Rational, Poly>& carl::ModelSubstitution< Rational, Poly >::evaluate ( const Model< Rational, Poly > &  model) const
inlineinherited

Definition at line 37 of file ModelSubstitution.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluateSubstitution()

template<typename Rational , typename Poly >
virtual ModelValue<Rational,Poly> carl::ModelMVRootSubstitution< Rational, Poly >::evaluateSubstitution ( const Model< Rational, Poly > &  model) const
inlinevirtual

Evaluate this substitution with respect to the given model.

Implements carl::ModelSubstitution< Rational, Poly >.

Definition at line 26 of file ModelMVRootSubstitution.h.

Here is the call graph for this function:

◆ getModelValue()

template<typename Rational , typename Poly >
template<typename Iterator >
const ModelValue<Rational,Poly>& carl::ModelSubstitution< Rational, Poly >::getModelValue ( Iterator  _mvit,
Model< Rational, Poly > &  _model 
)
inlineinherited

Definition at line 66 of file ModelSubstitution.h.

Here is the call graph for this function:

◆ multiplyBy()

template<typename Rational , typename Poly >
virtual void carl::ModelMVRootSubstitution< Rational, Poly >::multiplyBy ( const Rational _number)
inlinevirtual

Multiply this model substitution by a rational.

Implements carl::ModelSubstitution< Rational, Poly >.

Definition at line 17 of file ModelMVRootSubstitution.h.

◆ print()

template<typename Rational , typename Poly >
virtual void carl::ModelMVRootSubstitution< Rational, Poly >::print ( std::ostream &  os) const
inlinevirtual

Print this substitution to the given output stream.

Reimplemented from carl::ModelSubstitution< Rational, Poly >.

Definition at line 33 of file ModelMVRootSubstitution.h.

◆ representingFormula()

template<typename Rational , typename Poly >
virtual Formula<Poly> carl::ModelMVRootSubstitution< Rational, Poly >::representingFormula ( const ModelVariable mv)
inlinevirtual

Implements carl::ModelSubstitution< Rational, Poly >.

Definition at line 22 of file ModelMVRootSubstitution.h.

Here is the call graph for this function:

◆ resetCache()

template<typename Rational , typename Poly >
void carl::ModelSubstitution< Rational, Poly >::resetCache ( ) const
inlineinherited

Definition at line 43 of file ModelSubstitution.h.

Field Documentation

◆ mCachedValue

template<typename Rational , typename Poly >
std::optional<ModelValue<Rational, Poly> > carl::ModelSubstitution< Rational, Poly >::mCachedValue
mutableprivateinherited

Definition at line 28 of file ModelSubstitution.h.

◆ mRoot

template<typename Rational , typename Poly >
MVRoot carl::ModelMVRootSubstitution< Rational, Poly >::mRoot
private

Definition at line 13 of file ModelMVRootSubstitution.h.


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