summaryrefslogtreecommitdiff
path: root/impl/VariableAssignment.hpp
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-11-05 18:14:23 +1100
committerCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-11-05 18:14:23 +1100
commit6f49860389b973bf0ec58cdefc63cda41f432d1c (patch)
tree7091bbfbd694c7e9003c0392dfdb2d5e5707e3ac /impl/VariableAssignment.hpp
parent8c7de1fc64e2ef1994b558f223e0e77fb1395539 (diff)
Remove a bit of junk and fix up the logging again.
Diffstat (limited to 'impl/VariableAssignment.hpp')
-rw-r--r--impl/VariableAssignment.hpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/impl/VariableAssignment.hpp b/impl/VariableAssignment.hpp
index fff00b5..08002b8 100644
--- a/impl/VariableAssignment.hpp
+++ b/impl/VariableAssignment.hpp
@@ -41,8 +41,8 @@ struct DynamicVariableAssignment : public VariableAssignment<Domain> {
log::fixpoint << indent() << "Invalidating " << x << std::endl;
_unstable.insert(x);
- _old_values[x] = _values[x];
_touched.insert(x);
+ _old_values[x] = _values[x];
_values[x] = infinity<Domain>();
IdSet<Variable<Domain> > infl = _influence[x];
@@ -66,19 +66,15 @@ struct DynamicVariableAssignment : public VariableAssignment<Domain> {
it != ei;
++it) {
Variable<Domain>& var = _system.variable(*it);
- //if (_old_values[var] != _values[var]) {
+ if (!_unstable.contains(var) && _old_values[var] != _values[var]) {
changed.insert(var);
_touched.remove(var);
- //}
+ }
}
//_touched.clear();
return changed;
}
- const IdMap<Variable<Domain>, Domain> get_old_values() const {
- return _old_values;
- }
-
private:
void solve(const Variable<Domain>& x) {