carl
24.04
Computer ARithmetic Library
|
#include <ModelConditionalSubstitution.h>
Public Member Functions | |
ModelConditionalSubstitution (const std::vector< std::pair< Formula< Poly >, ModelValue< Rational, Poly >>> &values) | |
ModelConditionalSubstitution (std::initializer_list< std::pair< Formula< Poly >, ModelValue< Rational, Poly >>> values) | |
virtual void | multiplyBy (const Rational &n) |
Multiply this model substitution by a rational. More... | |
virtual void | add (const Rational &n) |
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 > &model) 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 | |
std::vector< std::pair< Formula< Poly >, ModelValue< Rational, Poly > > > | mValues |
std::optional< ModelValue< Rational, Poly > > | mCachedValue |
Definition at line 8 of file ModelConditionalSubstitution.h.
|
private |
Definition at line 10 of file ModelConditionalSubstitution.h.
|
inline |
Definition at line 13 of file ModelConditionalSubstitution.h.
|
inline |
Definition at line 15 of file ModelConditionalSubstitution.h.
|
inlinevirtual |
Add a rational to this model substitution.
Implements carl::ModelSubstitution< Rational, Poly >.
Definition at line 20 of file ModelConditionalSubstitution.h.
|
inlinevirtual |
Create a copy of this model substitution.
Implements carl::ModelSubstitution< Rational, Poly >.
Definition at line 23 of file ModelConditionalSubstitution.h.
|
inlinevirtual |
Check if this substitution needs the given model variable.
Reimplemented from carl::ModelSubstitution< Rational, Poly >.
Definition at line 39 of file ModelConditionalSubstitution.h.
|
inlineinherited |
Definition at line 37 of file ModelSubstitution.h.
|
inlinevirtual |
Evaluate this substitution with respect to the given model.
Implements carl::ModelSubstitution< Rational, Poly >.
Definition at line 35 of file ModelConditionalSubstitution.h.
|
inlineinherited |
|
inlinevirtual |
Multiply this model substitution by a rational.
Implements carl::ModelSubstitution< Rational, Poly >.
Definition at line 17 of file ModelConditionalSubstitution.h.
|
inlinevirtual |
Print this substitution to the given output stream.
Reimplemented from carl::ModelSubstitution< Rational, Poly >.
Definition at line 46 of file ModelConditionalSubstitution.h.
|
inlinevirtual |
Implements carl::ModelSubstitution< Rational, Poly >.
Definition at line 27 of file ModelConditionalSubstitution.h.
|
inlineinherited |
Definition at line 43 of file ModelSubstitution.h.
|
mutableprivateinherited |
Definition at line 28 of file ModelSubstitution.h.
|
private |
Definition at line 11 of file ModelConditionalSubstitution.h.