summaryrefslogtreecommitdiff
path: root/impl/Expression.hpp
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-10-22 14:44:57 +1100
committerCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-10-22 14:44:57 +1100
commit86ca7448849aaaea6db34b1d2bcf8d99d7d7b12c (patch)
treeacc843137f53cfc8cb2b847374c3d06789a9505e /impl/Expression.hpp
parent39bcfdc55a09e437482768903f6093ab1dd60a61 (diff)
Okay, the solver is now correct.
It runs in two separate passes: - improve strategy (for all) - evaluate fixpoint Unfortunately this loses out on locality at the moment. I really want a local solver, so I'll have to see what I can do about that.
Diffstat (limited to 'impl/Expression.hpp')
-rw-r--r--impl/Expression.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/impl/Expression.hpp b/impl/Expression.hpp
index 0d48d70..9c4ac9f 100644
--- a/impl/Expression.hpp
+++ b/impl/Expression.hpp
@@ -110,6 +110,10 @@ struct OperatorExpression : public Expression<Domain> {
return _operator.eval(argumentValues);
}
+ std::vector<Expression<Domain>*>& arguments() {
+ return _arguments;
+ }
+
const std::vector<Expression<Domain>*>& arguments() const {
return _arguments;
}
@@ -141,7 +145,7 @@ struct OperatorExpression : public Expression<Domain> {
private:
const Operator<Domain>& _operator;
protected:
- const std::vector<Expression<Domain>*> _arguments;
+ std::vector<Expression<Domain>*> _arguments;
};
template<typename Domain>