diff options
Diffstat (limited to 'src/theory/arith/nl/cad/constraints.h')
-rw-r--r-- | src/theory/arith/nl/cad/constraints.h | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/src/theory/arith/nl/cad/constraints.h b/src/theory/arith/nl/cad/constraints.h index eda785d8e..a7989fcb6 100644 --- a/src/theory/arith/nl/cad/constraints.h +++ b/src/theory/arith/nl/cad/constraints.h @@ -9,17 +9,13 @@ ** All rights reserved. See the file COPYING in the top-level source ** directory for licensing information.\endverbatim ** - ** This file is part of the CVC4 project. - ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS - ** in the top-level source directory) and their institutional affiliations. - ** All rights reserved. See the file COPYING in the top-level source - ** directory for licensing information.\endverbatim - ** ** \brief Implements a container for CAD constraints. ** ** Implements a container for CAD constraints. **/ +#include "cvc4_private.h" + #ifndef CVC4__THEORY__ARITH__NL__CAD__CONSTRAINTS_H #define CVC4__THEORY__ARITH__NL__CAD__CONSTRAINTS_H @@ -33,9 +29,9 @@ #include <tuple> #include <vector> -#include "../poly_conversion.h" #include "expr/kind.h" #include "expr/node_manager_attributes.h" +#include "theory/arith/nl/poly_conversion.h" namespace CVC4 { namespace theory { @@ -50,47 +46,46 @@ class Constraints using Constraint = std::tuple<poly::Polynomial, poly::SignCondition, Node>; using ConstraintVector = std::vector<Constraint>; - private: - /** - * A list of constraints, each comprised of a polynomial and a sign - * condition. - */ - ConstraintVector mConstraints; - - /** - * A mapping from CVC4 variables to poly variables. - */ - VariableMapper mVarMapper; - - void sort_constraints(); - - public: - VariableMapper& var_mapper() { return mVarMapper; } + VariableMapper& varMapper() { return d_varMapper; } /** * Add a constraint (represented by a polynomial and a sign condition) to the * list of constraints. */ - void add_constraint(const poly::Polynomial& lhs, - poly::SignCondition sc, - Node n); + void addConstraint(const poly::Polynomial& lhs, + poly::SignCondition sc, + Node n); /** * Add a constraints (represented by a node) to the list of constraints. * The given node can either be a negation (NOT) or a suitable relation symbol * as checked by is_suitable_relation(). */ - void add_constraint(Node n); + void addConstraint(Node n); /** * Gives the list of added constraints. */ - const ConstraintVector& get_constraints() const; + const ConstraintVector& getConstraints() const; /** * Remove all constraints. */ void reset(); + + private: + /** + * A list of constraints, each comprised of a polynomial and a sign + * condition. + */ + ConstraintVector d_constraints; + + /** + * A mapping from CVC4 variables to poly variables. + */ + VariableMapper d_varMapper; + + void sortConstraints(); }; } // namespace cad |