summaryrefslogtreecommitdiff
path: root/impl/Expression.hpp
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-10-16 13:26:07 +1100
committerCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-10-16 13:26:07 +1100
commit18a747edd76918e2a1a4fb608b2d3923fcc535fa (patch)
treebdb46b63234a649a32c8db36e4e232dbfff5730b /impl/Expression.hpp
parent697c1c0cd3815eee72b3eedb874fe0e044a69432 (diff)
A quick fix to the solver.
Diffstat (limited to 'impl/Expression.hpp')
-rw-r--r--impl/Expression.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/impl/Expression.hpp b/impl/Expression.hpp
index 00bc9cd..0d48d70 100644
--- a/impl/Expression.hpp
+++ b/impl/Expression.hpp
@@ -27,6 +27,10 @@ struct Expression {
return NULL;
}
+ virtual MaxExpression<Domain>* toMaxExpression() {
+ return NULL;
+ }
+
virtual Domain eval(const VariableAssignment<Domain>&) const = 0;
virtual Domain eval(const VariableAssignment<Domain>& rho,
const MaxStrategy<Domain>&) const {
@@ -145,6 +149,10 @@ struct MaxExpression : public OperatorExpression<Domain> {
MaxExpression(const unsigned int& id, const Maximum<Domain>& op, const std::vector<Expression<Domain>*>& arguments)
: OperatorExpression<Domain>(op, arguments), _id(id) { }
+ MaxExpression* toMaxExpression() {
+ return this;
+ }
+
const MaxExpression* toMaxExpression() const {
return this;
}