diff options
author | Carlo Zancanaro <carlo@carlo-laptop> | 2012-08-06 22:58:29 +1000 |
---|---|---|
committer | Carlo Zancanaro <carlo@carlo-laptop> | 2012-08-06 22:58:29 +1000 |
commit | 42e729d20000eb141b2907ad83630af34f4afea3 (patch) | |
tree | e231556126d538d6b61fe099c6245176aeb3df15 /impl/EquationSystem.hpp | |
parent | 77d26a8f2832791587b19351ee1fde207fdda608 (diff) |
New variation on the equation system solver.
Much simpler to understand. Basically have a variable assignment which
is dynamic and updates with the strategy changes. Similarly have
strategy changes easily invalidate the variable assignment.
This makes them strongly inter-dependent, but simplifies the
implementation considerably. Proving it should be easier like this, too.
Diffstat (limited to 'impl/EquationSystem.hpp')
-rw-r--r-- | impl/EquationSystem.hpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/impl/EquationSystem.hpp b/impl/EquationSystem.hpp index f5f87c3..4bae53a 100644 --- a/impl/EquationSystem.hpp +++ b/impl/EquationSystem.hpp @@ -117,7 +117,7 @@ struct EquationSystem { void indexMaxExpressions() { _expr_to_var = new IdMap<MaxExpression<Domain>,Variable<Domain>*>(maxExpressionCount(), NULL); for (unsigned int i = 0, length = _right_sides.size(); i < length; ++i) { - (*_expr_to_var)[*_right_sides[i]] = _variables[i]; + _right_sides[i]->mapTo(*_variables[i], *_expr_to_var); } } |