Updated assertions to catch negative duration values for weights > 0
but still clamping negative duration values at 0 without checking weights
This commit is contained in:
parent
334a7b50cd
commit
c66f67ac07
@ -222,11 +222,12 @@ inline std::vector<RouteStep> assembleSteps(const datafacade::BaseDataFacade &fa
|
|||||||
// u-------------v
|
// u-------------v
|
||||||
// | |---------| source_weight
|
// | |---------| source_weight
|
||||||
// | |---| target_weight
|
// | |---| target_weight
|
||||||
|
BOOST_ASSERT(target_weight >= source_weight);
|
||||||
const EdgeWeight weight = target_weight - source_weight;
|
const EdgeWeight weight = target_weight - source_weight;
|
||||||
BOOST_ASSERT(weight >= 0);
|
|
||||||
|
|
||||||
// use rectified linear unit function to avoid negative duration values
|
// use rectified linear unit function to avoid negative duration values
|
||||||
// due to flooring errors in phantom snapping
|
// due to flooring errors in phantom snapping
|
||||||
|
BOOST_ASSERT(target_duration >= source_duration || weight == 0);
|
||||||
const EdgeWeight duration = std::max(0, target_duration - source_duration);
|
const EdgeWeight duration = std::max(0, target_duration - source_duration);
|
||||||
|
|
||||||
steps.push_back(RouteStep{source_node.name_id,
|
steps.push_back(RouteStep{source_node.name_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user