summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java')
-rw-r--r--src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java42
1 files changed, 0 insertions, 42 deletions
diff --git a/src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java b/src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java
deleted file mode 100644
index b3a3089..0000000
--- a/src/jrummikub/ai/fdsolver/constraint/ComparatorPropagator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package jrummikub.ai.fdsolver.constraint;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import jrummikub.ai.fdsolver.Propagator;
-import jrummikub.ai.fdsolver.Var;
-
-public class ComparatorPropagator<T> implements Propagator {
- private Var<T> x, y;
- private Comparator<T> comparator;
- private boolean allowEqual;
- public ComparatorPropagator(Comparator<T> comparator, boolean allowEqual, Var<T> x, Var<T> y) {
- this.comparator = comparator;
- this.allowEqual = allowEqual;
- this.x = x;
- this.y = y;
- }
-
- @Override
- public Collection<Var<?>> getWatchedVars() {
- return Arrays.<Var<?>>asList(y);
- }
-
- @Override
- public void propagate() {
- T maxY = Collections.max(y.getRange(), comparator);
-
- for(Iterator<T> i = x.iterator(); i.hasNext();) {
- T value = i.next();
- int comparision = comparator.compare(value, maxY);
- if (comparision > 0 || comparision == 0 && !allowEqual) {
- i.remove();
- }
- }
- }
-}