Replace Count32 with Count64

This commit is contained in:
Pepijn Schoen 2017-04-08 16:06:34 +02:00 committed by Patrick Niklaus
parent 0c388a5264
commit b830a8f942
6 changed files with 15 additions and 18 deletions

View File

@ -126,7 +126,6 @@ class FileReader
/*******************************************/
std::uint32_t ReadElementCount32() { return ReadOne<std::uint32_t>(); }
std::uint64_t ReadElementCount64() { return ReadOne<std::uint64_t>(); }
template <typename T> std::size_t ReadVectorSize()
@ -228,7 +227,6 @@ class FileWriter
template <typename T> void WriteOne(const T tmp) { WriteFrom(tmp); }
void WriteElementCount32(const std::uint32_t count) { WriteOne<std::uint32_t>(count); }
void WriteElementCount64(const std::uint64_t count) { WriteOne<std::uint64_t>(count); }
void WriteFingerprint()

View File

@ -38,7 +38,7 @@ namespace util
inline unsigned loadRestrictionsFromFile(storage::io::FileReader &file_reader,
std::vector<extractor::TurnRestriction> &restriction_list)
{
unsigned number_of_usable_restrictions = file_reader.ReadElementCount32();
auto number_of_usable_restrictions = file_reader.ReadElementCount64();
restriction_list.resize(number_of_usable_restrictions);
if (number_of_usable_restrictions > 0)
{
@ -61,7 +61,7 @@ NodeID loadNodesFromFile(storage::io::FileReader &file_reader,
std::vector<util::Coordinate> &coordinates,
util::PackedVector<OSMNodeID> &osm_node_ids)
{
NodeID number_of_nodes = file_reader.ReadElementCount32();
auto number_of_nodes = file_reader.ReadElementCount64();
Log() << "Importing number_of_nodes new = " << number_of_nodes << " nodes ";
coordinates.resize(number_of_nodes);
@ -98,8 +98,7 @@ NodeID loadNodesFromFile(storage::io::FileReader &file_reader,
inline NodeID loadEdgesFromFile(storage::io::FileReader &file_reader,
std::vector<extractor::NodeBasedEdge> &edge_list)
{
EdgeID number_of_edges = file_reader.ReadElementCount32();
BOOST_ASSERT(sizeof(EdgeID) == sizeof(number_of_edges));
auto number_of_edges = file_reader.ReadElementCount64();
edge_list.resize(number_of_edges);
Log() << " and " << number_of_edges << " edges ";

View File

@ -143,9 +143,9 @@ template <unsigned BLOCK_SIZE, storage::Ownership Ownership> class RangeTable
void Write(storage::io::FileWriter &filewriter)
{
unsigned number_of_blocks = diff_blocks.size();
auto number_of_blocks = diff_blocks.size();
filewriter.WriteElementCount32(number_of_blocks);
filewriter.WriteElementCount64(number_of_blocks);
filewriter.WriteOne(sum_lengths);
@ -155,7 +155,7 @@ template <unsigned BLOCK_SIZE, storage::Ownership Ownership> class RangeTable
void Read(storage::io::FileReader &filereader)
{
unsigned number_of_blocks = filereader.ReadElementCount32();
auto number_of_blocks = filereader.ReadElementCount64();
// read total length
filereader.ReadInto(&sum_lengths, 1);

View File

@ -35,7 +35,7 @@ std::vector<util::Coordinate> loadCoordinates(const boost::filesystem::path &nod
storage::io::FileReader::VerifyFingerprint);
extractor::QueryNode current_node;
unsigned coordinate_count = nodes_path_file_reader.ReadElementCount32();
auto coordinate_count = nodes_path_file_reader.ReadElementCount64();
std::vector<util::Coordinate> coords(coordinate_count);
for (unsigned i = 0; i < coordinate_count; ++i)
{

View File

@ -259,7 +259,7 @@ void ExtractionContainers::PrepareNodes()
"supports 2^32 unique nodes, but there were " +
std::to_string(internal_id) + SOURCE_REF);
}
max_internal_node_id = boost::numeric_cast<NodeID>(internal_id);
max_internal_node_id = boost::numeric_cast<std::uint64_t>(internal_id);
TIMER_STOP(id_map);
log << "ok, after " << TIMER_SEC(id_map) << "s";
}
@ -575,7 +575,7 @@ void ExtractionContainers::WriteEdges(storage::io::FileWriter &file_out) const
throw util::exception("There are too many edges, OSRM only supports 2^32" + SOURCE_REF);
}
file_out.WriteElementCount32(normal_edges.size());
file_out.WriteElementCount64(normal_edges.size());
file_out.WriteFrom(normal_edges.data(), normal_edges.size());
TIMER_STOP(write_edges);
@ -590,7 +590,7 @@ void ExtractionContainers::WriteNodes(storage::io::FileWriter &file_out) const
// write dummy value, will be overwritten later
util::UnbufferedLog log;
log << "setting number of nodes ... " << std::flush;
file_out.WriteElementCount32(max_internal_node_id);
file_out.WriteElementCount64(max_internal_node_id);
log << "ok";
}
@ -633,11 +633,11 @@ void ExtractionContainers::WriteNodes(storage::io::FileWriter &file_out) const
void ExtractionContainers::WriteRestrictions(const std::string &path) const
{
// serialize restrictions
unsigned written_restriction_count = 0;
std::uint64_t written_restriction_count = 0;
storage::io::FileWriter restrictions_out_file(path,
storage::io::FileWriter::GenerateFingerprint);
restrictions_out_file.WriteElementCount32(written_restriction_count);
restrictions_out_file.WriteElementCount64(written_restriction_count);
for (const auto &restriction_container : restrictions_list)
{
@ -650,7 +650,7 @@ void ExtractionContainers::WriteRestrictions(const std::string &path) const
}
}
restrictions_out_file.SkipToBeginning();
restrictions_out_file.WriteElementCount32(written_restriction_count);
restrictions_out_file.WriteElementCount64(written_restriction_count);
util::Log() << "usable restrictions: " << written_restriction_count;
}

View File

@ -366,7 +366,7 @@ void Storage::PopulateLayout(DataLayout &layout)
layout.SetBlockSize<BearingClassID>(DataLayout::BEARING_CLASSID,
bearing_class_id_table.size());
const auto bearing_blocks = intersection_file.ReadElementCount32();
const auto bearing_blocks = intersection_file.ReadElementCount64();
intersection_file.Skip<std::uint32_t>(1); // sum_lengths
layout.SetBlockSize<unsigned>(DataLayout::BEARING_OFFSETS, bearing_blocks);
@ -793,7 +793,7 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
std::vector<BearingClassID> bearing_class_id_table;
serialization::read(intersection_file, bearing_class_id_table);
const auto bearing_blocks = intersection_file.ReadElementCount32();
const auto bearing_blocks = intersection_file.ReadElementCount64();
intersection_file.Skip<std::uint32_t>(1); // sum_lengths
std::vector<unsigned> bearing_offsets_data(bearing_blocks);