From f4db47ee4e456703362aa2facbc131085c15e6cc Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Mon, 20 May 2024 23:27:41 +0200 Subject: [PATCH] feat(dijkstra): support double precision instead of float --- .../algorithm/shortestpath/DijkstraAlgorithm.java | 6 +++--- .../insa/graphs/algorithm/shortestpath/Label.java | 14 +++++++------- .../graphs/algorithm/shortestpath/LabelStar.java | 10 +++++----- .../shortestpath/ShortestPathAlgorithm.java | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java index 84dd9e9..ba8e342 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java @@ -63,7 +63,7 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { notifyNodeMarked(x.getNode()); // System.out.println(x.getCost()); // Pour vérifier une croissance des noeuds marqués // We create a list of node successors of x, instead of a list of Arcs. - float arc_cost = 0; + double arc_cost = 0; for (Arc successorArc : x.getNode().getSuccessors()) { Label successor = labels.get(successorArc.getDestination().getId()); @@ -76,11 +76,11 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { // data.getcost(arc) returns a cost considering the mode chosen: // TIME or LENGTH // Similar to using getLength / getMinimumTravelTime - arc_cost = (float) data.getCost(arc); + arc_cost = data.getCost(arc); } } - final float possible_path_cost = x.getCost() + arc_cost; + final double possible_path_cost = x.getCost() + arc_cost; if (successor.getCost() > possible_path_cost) { // Mise à jour du label successor.setPathCost(possible_path_cost); diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java index bdc3da7..bf8d6e6 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java @@ -7,7 +7,7 @@ public class Label implements Comparable