cast computed way in a proper way, add a static assertion to check for file types via traits
This commit is contained in:
parent
e62caf33aa
commit
459e2a322b
@ -1121,13 +1121,20 @@ class StaticRTree
|
||||
m_coordinate_list->at(nearest_edge.u), m_coordinate_list->at(nearest_edge.v));
|
||||
const float ratio = std::min(1.f, distance_1 / distance_2);
|
||||
|
||||
using TreeWeightType = decltype(result_phantom_node.forward_weight);
|
||||
static_assert(std::is_same<decltype(result_phantom_node.forward_weight),
|
||||
decltype(result_phantom_node.reverse_weight)>::value,
|
||||
"forward and reverse weight type in tree must be the same");
|
||||
|
||||
if (SPECIAL_NODEID != result_phantom_node.forward_node_id)
|
||||
{
|
||||
result_phantom_node.forward_weight *= ratio;
|
||||
const auto new_weight = static_cast<TreeWeightType>(result_phantom_node.forward_weight * ratio);
|
||||
result_phantom_node.forward_weight = new_weight;
|
||||
}
|
||||
if (SPECIAL_NODEID != result_phantom_node.reverse_node_id)
|
||||
{
|
||||
result_phantom_node.reverse_weight *= (1.f - ratio);
|
||||
const auto new_weight = static_cast<TreeWeightType>(result_phantom_node.reverse_weight * (1.f-ratio));
|
||||
result_phantom_node.reverse_weight = new_weight;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user