summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/ai/fdsolver/Solver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/ai/fdsolver/Solver.java')
-rw-r--r--src/jrummikub/ai/fdsolver/Solver.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jrummikub/ai/fdsolver/Solver.java b/src/jrummikub/ai/fdsolver/Solver.java
index c3ede1b..2277ba4 100644
--- a/src/jrummikub/ai/fdsolver/Solver.java
+++ b/src/jrummikub/ai/fdsolver/Solver.java
@@ -99,7 +99,7 @@ public class Solver {
finishedConstraint(constraint, dirtyVar);
continue;
}
- for (Propagator propagator : constraint.getPropagators(false)) {
+ for (Propagator propagator : constraint.cachedPropagators) {
if (propagator.getWatchedVars().contains(dirtyVar)) {
propagator.propagate();
if (contradiction) {
@@ -124,8 +124,8 @@ public class Solver {
}
public void addConstraint(Constraint constraint) {
+ constraint.cachedPropagators = constraint.getPropagators(false);
constraints.add(constraint);
-
for (Var<?> var : constraint.getWatchedVars()) {
var.makeDirty();
var.getConstraints().add(constraint);