Fixed graph relaxEdge to properly deal with Double.MIN_VALUE.
diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
index 8cd0e14..dacc479 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
@@ -108,7 +108,7 @@
if (lt == Link.Type.OPTICAL) {
return 1000.0;
} else {
- return 1.0;
+ return Double.MIN_VALUE;
}
}
};
diff --git a/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java b/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
index 744e545..47c5d4e 100644
--- a/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
+++ b/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
@@ -36,7 +36,7 @@
public abstract class AbstractGraphPathSearch<V extends Vertex, E extends Edge<V>>
implements GraphPathSearch<V, E> {
- private double samenessThreshold = 0.000000001;
+ private double samenessThreshold = Double.MIN_VALUE;
/**
* Sets a new sameness threshold for comparing cost values; default is
@@ -183,7 +183,7 @@
double newCost = cost + hopCost;
boolean relaxed = newCost < oldCost;
- boolean same = Math.abs(newCost - oldCost) < samenessThreshold;
+ boolean same = Math.abs(newCost - oldCost) <= samenessThreshold;
if (same || relaxed) {
updateVertex(v, e, newCost, !same);
}