From f98ba96cc7c99c444c9ab8dca2a17a4fcd5569f5 Mon Sep 17 00:00:00 2001 From: Rajat Mittal Date: Thu, 14 Mar 2019 16:52:08 +0530 Subject: [PATCH] better code --- src/sage/graphs/base/c_graph.pyx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sage/graphs/base/c_graph.pyx b/src/sage/graphs/base/c_graph.pyx index 9354ad20d99..ea029a4990e 100644 --- a/src/sage/graphs/base/c_graph.pyx +++ b/src/sage/graphs/base/c_graph.pyx @@ -2247,9 +2247,12 @@ cdef class CGraphBackend(GenericGraphBackend): if w not in dist_current: v_obj = self.vertex_label(v) w_obj = self.vertex_label(w) - edge_label = weight_function((v_obj, w_obj, self.get_edge_label(v_obj, w_obj))) if side == 1 else weight_function((w_obj, v_obj, self.get_edge_label(w_obj, v_obj))) - if type(edge_label) == list: - edge_label = min(edge_label) + if side == -1: + v_obj, w_obj = w_obj, v_obj + if self._multiple_edges: + edge_label = min(weight_function((v_obj, w_obj, l)) for l in self.get_edge_label(v_obj, w_obj)) + else: + edge_label = weight_function((v_obj, w_obj, self.get_edge_label(v_obj, w_obj))) if edge_label < 0: raise ValueError("the graph contains an edge with negative weight") pq.push(((-(distance + edge_label), side), (v, w)))