@@ -74,18 +74,20 @@ void printUnreachableStatistics(const Partition &partition,
7474
7575auto LoadAndUpdateEdgeExpandedGraph (const CustomizationConfig &config,
7676 const partitioner::MultiLevelPartition &mlp,
77+ std::vector<EdgeWeight> &node_weights,
7778 std::uint32_t &connectivity_checksum)
7879{
7980 updater::Updater updater (config.updater_config );
8081
81- EdgeID num_nodes;
8282 std::vector<extractor::EdgeBasedEdge> edge_based_edge_list;
83- std::tie ( num_nodes, edge_based_edge_list, connectivity_checksum) =
84- updater. LoadAndUpdateEdgeExpandedGraph ( );
83+ EdgeID num_nodes = updater. LoadAndUpdateEdgeExpandedGraph (
84+ edge_based_edge_list, node_weights, connectivity_checksum );
8585
8686 auto directed = partitioner::splitBidirectionalEdges (edge_based_edge_list);
87+
8788 auto tidied = partitioner::prepareEdgesForUsageInGraph<
8889 typename partitioner::MultiLevelEdgeBasedGraph::InputEdge>(std::move (directed));
90+
8991 auto edge_based_graph =
9092 partitioner::MultiLevelEdgeBasedGraph (mlp, num_nodes, std::move (tidied));
9193
@@ -120,8 +122,11 @@ int Customizer::Run(const CustomizationConfig &config)
120122 partitioner::MultiLevelPartition mlp;
121123 partitioner::files::readPartition (config.GetPath (" .osrm.partition" ), mlp);
122124
125+ std::vector<EdgeWeight> node_weights;
123126 std::uint32_t connectivity_checksum = 0 ;
124- auto graph = LoadAndUpdateEdgeExpandedGraph (config, mlp, connectivity_checksum);
127+ auto graph = LoadAndUpdateEdgeExpandedGraph (config, mlp, node_weights, connectivity_checksum);
128+ BOOST_ASSERT (graph.GetNumberOfNodes () == node_weights.size ());
129+ std::for_each (node_weights.begin (), node_weights.end (), [](auto &w) { w &= 0x7fffffff ; });
125130 util::Log () << " Loaded edge based graph: " << graph.GetNumberOfEdges () << " edges, "
126131 << graph.GetNumberOfNodes () << " nodes" ;
127132
@@ -158,8 +163,7 @@ int Customizer::Run(const CustomizationConfig &config)
158163 util::Log () << " MLD customization writing took " << TIMER_SEC (writing_mld_data) << " seconds" ;
159164
160165 TIMER_START (writing_graph);
161- std::vector<EdgeWeight> node_weights;
162- std::vector<EdgeDuration> node_durations;
166+ std::vector<EdgeDuration> node_durations; // TODO: save an empty vector, to be removed later
163167 MultiLevelEdgeBasedGraph shaved_graph{
164168 std::move (graph), std::move (node_weights), std::move (node_durations)};
165169 customizer::files::writeGraph (
0 commit comments