Add placeholders for up to 8 weights
This commit is contained in:
parent
58061a68c4
commit
c8b142a676
@ -992,15 +992,15 @@ template <> class ContiguousInternalMemoryAlgorithmDataFacade<MLD> : public Algo
|
|||||||
partition::MultiLevelPartitionView{level_data, partition, cell_to_children};
|
partition::MultiLevelPartitionView{level_data, partition, cell_to_children};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data_layout.GetBlockSize(storage::DataLayout::MLD_CELL_WEIGHTS) > 0)
|
if (data_layout.GetBlockSize(storage::DataLayout::MLD_CELL_WEIGHTS_0) > 0)
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(data_layout.GetBlockSize(storage::DataLayout::MLD_CELLS) > 0);
|
BOOST_ASSERT(data_layout.GetBlockSize(storage::DataLayout::MLD_CELLS) > 0);
|
||||||
BOOST_ASSERT(data_layout.GetBlockSize(storage::DataLayout::MLD_CELL_LEVEL_OFFSETS) > 0);
|
BOOST_ASSERT(data_layout.GetBlockSize(storage::DataLayout::MLD_CELL_LEVEL_OFFSETS) > 0);
|
||||||
|
|
||||||
auto mld_cell_weights_ptr = data_layout.GetBlockPtr<EdgeWeight>(
|
auto mld_cell_weights_ptr = data_layout.GetBlockPtr<EdgeWeight>(
|
||||||
memory_block, storage::DataLayout::MLD_CELL_WEIGHTS);
|
memory_block, storage::DataLayout::MLD_CELL_WEIGHTS_0);
|
||||||
auto mld_cell_durations_ptr = data_layout.GetBlockPtr<EdgeDuration>(
|
auto mld_cell_durations_ptr = data_layout.GetBlockPtr<EdgeDuration>(
|
||||||
memory_block, storage::DataLayout::MLD_CELL_DURATIONS);
|
memory_block, storage::DataLayout::MLD_CELL_DURATIONS_0);
|
||||||
auto mld_source_boundary_ptr = data_layout.GetBlockPtr<NodeID>(
|
auto mld_source_boundary_ptr = data_layout.GetBlockPtr<NodeID>(
|
||||||
memory_block, storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
memory_block, storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
||||||
auto mld_destination_boundary_ptr = data_layout.GetBlockPtr<NodeID>(
|
auto mld_destination_boundary_ptr = data_layout.GetBlockPtr<NodeID>(
|
||||||
@ -1011,9 +1011,9 @@ template <> class ContiguousInternalMemoryAlgorithmDataFacade<MLD> : public Algo
|
|||||||
memory_block, storage::DataLayout::MLD_CELL_LEVEL_OFFSETS);
|
memory_block, storage::DataLayout::MLD_CELL_LEVEL_OFFSETS);
|
||||||
|
|
||||||
auto weight_entries_count =
|
auto weight_entries_count =
|
||||||
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_WEIGHTS);
|
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_WEIGHTS_0);
|
||||||
auto duration_entries_count =
|
auto duration_entries_count =
|
||||||
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_DURATIONS);
|
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_DURATIONS_0);
|
||||||
auto source_boundary_entries_count =
|
auto source_boundary_entries_count =
|
||||||
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
data_layout.GetBlockEntries(storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
||||||
auto destination_boundary_entries_count =
|
auto destination_boundary_entries_count =
|
||||||
|
@ -62,8 +62,22 @@ const constexpr char *block_id_to_name[] = {"NAME_CHAR_DATA",
|
|||||||
"MLD_LEVEL_DATA",
|
"MLD_LEVEL_DATA",
|
||||||
"MLD_PARTITION",
|
"MLD_PARTITION",
|
||||||
"MLD_CELL_TO_CHILDREN",
|
"MLD_CELL_TO_CHILDREN",
|
||||||
"MLD_CELL_WEIGHTS",
|
"MLD_CELL_WEIGHTS_0",
|
||||||
"MLD_CELL_DURATIONS",
|
"MLD_CELL_WEIGHTS_1",
|
||||||
|
"MLD_CELL_WEIGHTS_2",
|
||||||
|
"MLD_CELL_WEIGHTS_3",
|
||||||
|
"MLD_CELL_WEIGHTS_4",
|
||||||
|
"MLD_CELL_WEIGHTS_5",
|
||||||
|
"MLD_CELL_WEIGHTS_6",
|
||||||
|
"MLD_CELL_WEIGHTS_7",
|
||||||
|
"MLD_CELL_DURATIONS_0",
|
||||||
|
"MLD_CELL_DURATIONS_1",
|
||||||
|
"MLD_CELL_DURATIONS_2",
|
||||||
|
"MLD_CELL_DURATIONS_3",
|
||||||
|
"MLD_CELL_DURATIONS_4",
|
||||||
|
"MLD_CELL_DURATIONS_5",
|
||||||
|
"MLD_CELL_DURATIONS_6",
|
||||||
|
"MLD_CELL_DURATIONS_7",
|
||||||
"MLD_CELL_SOURCE_BOUNDARY",
|
"MLD_CELL_SOURCE_BOUNDARY",
|
||||||
"MLD_CELL_DESTINATION_BOUNDARY",
|
"MLD_CELL_DESTINATION_BOUNDARY",
|
||||||
"MLD_CELLS",
|
"MLD_CELLS",
|
||||||
@ -120,8 +134,22 @@ struct DataLayout
|
|||||||
MLD_LEVEL_DATA,
|
MLD_LEVEL_DATA,
|
||||||
MLD_PARTITION,
|
MLD_PARTITION,
|
||||||
MLD_CELL_TO_CHILDREN,
|
MLD_CELL_TO_CHILDREN,
|
||||||
MLD_CELL_WEIGHTS,
|
MLD_CELL_WEIGHTS_0,
|
||||||
MLD_CELL_DURATIONS,
|
MLD_CELL_WEIGHTS_1,
|
||||||
|
MLD_CELL_WEIGHTS_2,
|
||||||
|
MLD_CELL_WEIGHTS_3,
|
||||||
|
MLD_CELL_WEIGHTS_4,
|
||||||
|
MLD_CELL_WEIGHTS_5,
|
||||||
|
MLD_CELL_WEIGHTS_6,
|
||||||
|
MLD_CELL_WEIGHTS_7,
|
||||||
|
MLD_CELL_DURATIONS_0,
|
||||||
|
MLD_CELL_DURATIONS_1,
|
||||||
|
MLD_CELL_DURATIONS_2,
|
||||||
|
MLD_CELL_DURATIONS_3,
|
||||||
|
MLD_CELL_DURATIONS_4,
|
||||||
|
MLD_CELL_DURATIONS_5,
|
||||||
|
MLD_CELL_DURATIONS_6,
|
||||||
|
MLD_CELL_DURATIONS_7,
|
||||||
MLD_CELL_SOURCE_BOUNDARY,
|
MLD_CELL_SOURCE_BOUNDARY,
|
||||||
MLD_CELL_DESTINATION_BOUNDARY,
|
MLD_CELL_DESTINATION_BOUNDARY,
|
||||||
MLD_CELLS,
|
MLD_CELLS,
|
||||||
|
@ -454,9 +454,9 @@ void Storage::PopulateLayout(DataLayout &layout)
|
|||||||
io::FileReader reader(config.GetPath(".osrm.cells"), io::FileReader::VerifyFingerprint);
|
io::FileReader reader(config.GetPath(".osrm.cells"), io::FileReader::VerifyFingerprint);
|
||||||
|
|
||||||
const auto weights_count = reader.ReadVectorSize<EdgeWeight>();
|
const auto weights_count = reader.ReadVectorSize<EdgeWeight>();
|
||||||
layout.SetBlockSize<EdgeWeight>(DataLayout::MLD_CELL_WEIGHTS, weights_count);
|
layout.SetBlockSize<EdgeWeight>(DataLayout::MLD_CELL_WEIGHTS_0, weights_count);
|
||||||
const auto durations_count = reader.ReadVectorSize<EdgeDuration>();
|
const auto durations_count = reader.ReadVectorSize<EdgeDuration>();
|
||||||
layout.SetBlockSize<EdgeDuration>(DataLayout::MLD_CELL_DURATIONS, durations_count);
|
layout.SetBlockSize<EdgeDuration>(DataLayout::MLD_CELL_DURATIONS_0, durations_count);
|
||||||
const auto source_node_count = reader.ReadVectorSize<NodeID>();
|
const auto source_node_count = reader.ReadVectorSize<NodeID>();
|
||||||
layout.SetBlockSize<NodeID>(DataLayout::MLD_CELL_SOURCE_BOUNDARY, source_node_count);
|
layout.SetBlockSize<NodeID>(DataLayout::MLD_CELL_SOURCE_BOUNDARY, source_node_count);
|
||||||
const auto destination_node_count = reader.ReadVectorSize<NodeID>();
|
const auto destination_node_count = reader.ReadVectorSize<NodeID>();
|
||||||
@ -468,11 +468,41 @@ void Storage::PopulateLayout(DataLayout &layout)
|
|||||||
const auto level_offsets_count = reader.ReadVectorSize<std::uint64_t>();
|
const auto level_offsets_count = reader.ReadVectorSize<std::uint64_t>();
|
||||||
layout.SetBlockSize<std::uint64_t>(DataLayout::MLD_CELL_LEVEL_OFFSETS,
|
layout.SetBlockSize<std::uint64_t>(DataLayout::MLD_CELL_LEVEL_OFFSETS,
|
||||||
level_offsets_count);
|
level_offsets_count);
|
||||||
|
|
||||||
|
// FIXME these need to be filled with actual weight values
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_1, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_2, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_3, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_4, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_5, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_6, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_7, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_1, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_2, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_3, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_4, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_5, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_6, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_7, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS, 0);
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_0, 0);
|
||||||
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS, 0);
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_1, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_2, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_3, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_4, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_5, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_6, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_WEIGHTS_7, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_0, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_1, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_2, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_3, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_4, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_5, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_6, 0);
|
||||||
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DURATIONS_7, 0);
|
||||||
layout.SetBlockSize<char>(DataLayout::MLD_CELL_SOURCE_BOUNDARY, 0);
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_SOURCE_BOUNDARY, 0);
|
||||||
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DESTINATION_BOUNDARY, 0);
|
layout.SetBlockSize<char>(DataLayout::MLD_CELL_DESTINATION_BOUNDARY, 0);
|
||||||
layout.SetBlockSize<char>(DataLayout::MLD_CELLS, 0);
|
layout.SetBlockSize<char>(DataLayout::MLD_CELLS, 0);
|
||||||
@ -912,9 +942,9 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
|||||||
BOOST_ASSERT(layout.GetBlockSize(storage::DataLayout::MLD_CELL_LEVEL_OFFSETS) > 0);
|
BOOST_ASSERT(layout.GetBlockSize(storage::DataLayout::MLD_CELL_LEVEL_OFFSETS) > 0);
|
||||||
|
|
||||||
auto mld_cell_weights_ptr = layout.GetBlockPtr<EdgeWeight, true>(
|
auto mld_cell_weights_ptr = layout.GetBlockPtr<EdgeWeight, true>(
|
||||||
memory_ptr, storage::DataLayout::MLD_CELL_WEIGHTS);
|
memory_ptr, storage::DataLayout::MLD_CELL_WEIGHTS_0);
|
||||||
auto mld_cell_duration_ptr = layout.GetBlockPtr<EdgeDuration, true>(
|
auto mld_cell_duration_ptr = layout.GetBlockPtr<EdgeDuration, true>(
|
||||||
memory_ptr, storage::DataLayout::MLD_CELL_DURATIONS);
|
memory_ptr, storage::DataLayout::MLD_CELL_DURATIONS_0);
|
||||||
auto mld_source_boundary_ptr = layout.GetBlockPtr<NodeID, true>(
|
auto mld_source_boundary_ptr = layout.GetBlockPtr<NodeID, true>(
|
||||||
memory_ptr, storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
memory_ptr, storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
||||||
auto mld_destination_boundary_ptr = layout.GetBlockPtr<NodeID, true>(
|
auto mld_destination_boundary_ptr = layout.GetBlockPtr<NodeID, true>(
|
||||||
@ -925,9 +955,9 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
|||||||
memory_ptr, storage::DataLayout::MLD_CELL_LEVEL_OFFSETS);
|
memory_ptr, storage::DataLayout::MLD_CELL_LEVEL_OFFSETS);
|
||||||
|
|
||||||
auto weight_entries_count =
|
auto weight_entries_count =
|
||||||
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_WEIGHTS);
|
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_WEIGHTS_0);
|
||||||
auto duration_entries_count =
|
auto duration_entries_count =
|
||||||
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_DURATIONS);
|
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_DURATIONS_0);
|
||||||
auto source_boundary_entries_count =
|
auto source_boundary_entries_count =
|
||||||
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
layout.GetBlockEntries(storage::DataLayout::MLD_CELL_SOURCE_BOUNDARY);
|
||||||
auto destination_boundary_entries_count =
|
auto destination_boundary_entries_count =
|
||||||
|
Loading…
Reference in New Issue
Block a user