fix signed/unsigned comparisons and casts

This commit is contained in:
Dennis Luxen 2015-02-10 12:08:17 +01:00
parent 1ff8b62bf5
commit 00e8caa0e3

View File

@ -1,6 +1,6 @@
/* /*
Copyright (c) 2014, Project OSRM, Dennis Luxen, others Copyright (c) 2015, Project OSRM, Dennis Luxen, others
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, Redistribution and use in source and binary forms, with or without modification,
@ -39,25 +39,18 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
struct EdgeBasedNode struct EdgeBasedNode
{ {
EdgeBasedNode() : EdgeBasedNode()
forward_edge_based_node_id(SPECIAL_NODEID), : forward_edge_based_node_id(SPECIAL_NODEID), reverse_edge_based_node_id(SPECIAL_NODEID),
reverse_edge_based_node_id(SPECIAL_NODEID), u(SPECIAL_NODEID), v(SPECIAL_NODEID), name_id(0),
u(SPECIAL_NODEID), forward_weight(INVALID_EDGE_WEIGHT >> 1), reverse_weight(INVALID_EDGE_WEIGHT >> 1),
v(SPECIAL_NODEID), forward_offset(0), reverse_offset(0), packed_geometry_id(SPECIAL_EDGEID),
name_id(0), component_id(-1), fwd_segment_position(std::numeric_limits<unsigned short>::max()),
forward_weight(INVALID_EDGE_WEIGHT >> 1),
reverse_weight(INVALID_EDGE_WEIGHT >> 1),
forward_offset(0),
reverse_offset(0),
packed_geometry_id(SPECIAL_EDGEID),
component_id(-1),
fwd_segment_position( std::numeric_limits<unsigned short>::max() ),
forward_travel_mode(TRAVEL_MODE_INACCESSIBLE), forward_travel_mode(TRAVEL_MODE_INACCESSIBLE),
backward_travel_mode(TRAVEL_MODE_INACCESSIBLE) backward_travel_mode(TRAVEL_MODE_INACCESSIBLE)
{ } {
}
explicit EdgeBasedNode( explicit EdgeBasedNode(NodeID forward_edge_based_node_id,
NodeID forward_edge_based_node_id,
NodeID reverse_edge_based_node_id, NodeID reverse_edge_based_node_id,
NodeID u, NodeID u,
NodeID v, NodeID v,
@ -70,28 +63,21 @@ struct EdgeBasedNode
unsigned component_id, unsigned component_id,
unsigned short fwd_segment_position, unsigned short fwd_segment_position,
TravelMode forward_travel_mode, TravelMode forward_travel_mode,
TravelMode backward_travel_mode TravelMode backward_travel_mode)
) : : forward_edge_based_node_id(forward_edge_based_node_id),
forward_edge_based_node_id(forward_edge_based_node_id), reverse_edge_based_node_id(reverse_edge_based_node_id), u(u), v(v), name_id(name_id),
reverse_edge_based_node_id(reverse_edge_based_node_id), forward_weight(forward_weight), reverse_weight(reverse_weight),
u(u), forward_offset(forward_offset), reverse_offset(reverse_offset),
v(v), packed_geometry_id(packed_geometry_id), component_id(component_id),
name_id(name_id), fwd_segment_position(fwd_segment_position), forward_travel_mode(forward_travel_mode),
forward_weight(forward_weight),
reverse_weight(reverse_weight),
forward_offset(forward_offset),
reverse_offset(reverse_offset),
packed_geometry_id(packed_geometry_id),
component_id(component_id),
fwd_segment_position(fwd_segment_position),
forward_travel_mode(forward_travel_mode),
backward_travel_mode(backward_travel_mode) backward_travel_mode(backward_travel_mode)
{ {
BOOST_ASSERT((forward_edge_based_node_id != SPECIAL_NODEID) || BOOST_ASSERT((forward_edge_based_node_id != SPECIAL_NODEID) ||
(reverse_edge_based_node_id != SPECIAL_NODEID)); (reverse_edge_based_node_id != SPECIAL_NODEID));
} }
static inline FixedPointCoordinate Centroid(const FixedPointCoordinate & a, const FixedPointCoordinate & b) static inline FixedPointCoordinate Centroid(const FixedPointCoordinate &a,
const FixedPointCoordinate &b)
{ {
FixedPointCoordinate centroid; FixedPointCoordinate centroid;
// The coordinates of the midpoint are given by: // The coordinates of the midpoint are given by:
@ -100,15 +86,9 @@ struct EdgeBasedNode
return centroid; return centroid;
} }
bool IsCompressed() const bool IsCompressed() const { return packed_geometry_id != SPECIAL_EDGEID; }
{
return packed_geometry_id != SPECIAL_EDGEID;
}
bool is_in_tiny_cc() const bool is_in_tiny_cc() const { return 0 != component_id; }
{
return 0 != component_id;
}
NodeID forward_edge_based_node_id; // needed for edge-expanded graph NodeID forward_edge_based_node_id; // needed for edge-expanded graph
NodeID reverse_edge_based_node_id; // needed for edge-expanded graph NodeID reverse_edge_based_node_id; // needed for edge-expanded graph