graph format now canonical

This commit is contained in:
Dennis Luxen 2013-09-27 15:01:25 +02:00
parent d91d911051
commit 5d7c23c62a
2 changed files with 11 additions and 11 deletions

View File

@ -426,20 +426,17 @@ unsigned readHSGRFromStream(
} }
unsigned number_of_nodes = 0; unsigned number_of_nodes = 0;
hsgr_input_stream.read((char*) check_sum, sizeof(unsigned)); unsigned number_of_edges = 0;
hsgr_input_stream.read((char*) & number_of_nodes, sizeof(unsigned)); hsgr_input_stream.read( (char*) check_sum, sizeof(unsigned) );
hsgr_input_stream.read( (char*) &number_of_nodes, sizeof(unsigned) );
BOOST_ASSERT_MSG( 0 != number_of_nodes, "number of nodes is zero"); BOOST_ASSERT_MSG( 0 != number_of_nodes, "number of nodes is zero");
hsgr_input_stream.read( (char*) &number_of_edges, sizeof(unsigned) );
BOOST_ASSERT_MSG( 0 != number_of_edges, "number of edges is zero");
node_list.resize(number_of_nodes + 1); node_list.resize(number_of_nodes + 1);
hsgr_input_stream.read( hsgr_input_stream.read(
(char*) &(node_list[0]), (char*) &(node_list[0]),
number_of_nodes*sizeof(NodeT) number_of_nodes*sizeof(NodeT)
); );
unsigned number_of_edges = 0;
hsgr_input_stream.read(
(char*) &number_of_edges,
sizeof(unsigned)
);
BOOST_ASSERT_MSG( 0 != number_of_edges, "number of edges is zero");
edge_list.resize(number_of_edges); edge_list.resize(number_of_edges);
hsgr_input_stream.read( hsgr_input_stream.read(

View File

@ -304,12 +304,15 @@ int main (int argc, char *argv[]) {
"no. of nodes dont match" "no. of nodes dont match"
); );
//Serialize numberOfNodes, nodes //serialize crc32, aka checksum
hsgr_output_stream.write((char*) &crc32OfNodeBasedEdgeList, sizeof(unsigned)); hsgr_output_stream.write((char*) &crc32OfNodeBasedEdgeList, sizeof(unsigned));
//serialize number f nodes
hsgr_output_stream.write((char*) &numberOfNodes, sizeof(unsigned)); hsgr_output_stream.write((char*) &numberOfNodes, sizeof(unsigned));
hsgr_output_stream.write((char*) &_nodes[0], sizeof(StaticGraph<EdgeData>::_StrNode)*(numberOfNodes)); //serialize number of edges
//Serialize number of Edges
hsgr_output_stream.write((char*) &position, sizeof(unsigned)); hsgr_output_stream.write((char*) &position, sizeof(unsigned));
//serialize all nodes
hsgr_output_stream.write((char*) &_nodes[0], sizeof(StaticGraph<EdgeData>::_StrNode)*(numberOfNodes));
//serialize all edges
--numberOfNodes; --numberOfNodes;
edge = 0; edge = 0;
int usedEdgeCounter = 0; int usedEdgeCounter = 0;