12 template<
typename Rational,
typename Poly>
18 if (it == m.
end())
return;
19 assert(it->second.isBVValue());
28 CARL_LOG_ERROR(
"carl.model.evaluation",
"Evaluation of unknown bitvector term " << bvt <<
" failed.");
36 template<
typename Rational,
typename Poly>
44 template<
typename Rational,
typename Poly>
50 CARL_LOG_ERROR(
"carl.model.evaluation",
"Evaluation of bitvector term did not result in a constant but " << bvt <<
".");
58 template<
typename Rational,
typename Poly>
64 CARL_LOG_ERROR(
"carl.model.evaluation",
"Evaluation of bitvector constraint " << bvc <<
" was not possible.");
#define CARL_LOG_ERROR(channel, msg)
carl is the main namespace for the library.
bool typeIsUnary(BVTermType type)
bool typeIsBinary(BVTermType type)
Coeff substitute(const Monomial &m, const std::map< Variable, Coeff > &substitutions)
Applies the given substitutions to a monomial.
void evaluate_inplace(ModelValue< Rational, Poly > &res, BVTerm &bvt, const Model< Rational, Poly > &m)
Evaluates a bitvector term to a ModelValue over a Model.
void substitute_inplace(MultivariateRoot< Poly > &mr, Variable var, const Poly &poly)
Create a copy of the underlying polynomial with the given variable replaced by the given polynomial.
const BVTerm & rhs() const
bool isAlwaysInconsistent() const
bool isAlwaysConsistent() const
const BVTerm & lhs() const
BVCompareRelation relation() const
static BVConstraint create(bool _consistent=true)
const BVTerm & operand() const
std::size_t index() const
std::size_t highest() const
const BVVariable & variable() const
const BVTerm & second() const
const BVValue & value() const
const BVTerm & first() const
std::size_t lowest() const
Represent a collection of assignments/mappings from variables to values.
auto find(const typename Map::key_type &key) const
Represent a sum type/variant over the different kinds of values that can be assigned to the different...