From 72d3db577d09f9e46b49d00902ba58c5d3923818 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 21 Oct 2024 20:50:16 +0100 Subject: [PATCH] Codechange: Use fmt::format to convert value to binary string representation. Avoids manually iterating bits into an array. --- src/pathfinder/water_regions.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/pathfinder/water_regions.cpp b/src/pathfinder/water_regions.cpp index 6ef8d2c998..5f444f207e 100644 --- a/src/pathfinder/water_regions.cpp +++ b/src/pathfinder/water_regions.cpp @@ -197,9 +197,8 @@ public: const size_t max_element_width = std::to_string(this->data.number_of_patches).size(); - std::array traversability_NW{0}; - for (auto bitIndex : SetBitIterator(this->data.edge_traversability_bits[DIAGDIR_NW])) *(traversability_NW.rbegin() + bitIndex) = 1; - Debug(map, 9, " {:{}}", fmt::join(traversability_NW, " "), max_element_width); + std::string traversability = fmt::format("{:0{}b}", this->data.edge_traversability_bits[DIAGDIR_NW], WATER_REGION_EDGE_LENGTH); + Debug(map, 9, " {:{}}", fmt::join(traversability, " "), max_element_width); Debug(map, 9, " +{:->{}}+", "", WATER_REGION_EDGE_LENGTH * (max_element_width + 1) + 1); for (int y = 0; y < WATER_REGION_EDGE_LENGTH; ++y) { @@ -213,9 +212,8 @@ public: } Debug(map, 9, " +{:->{}}+", "", WATER_REGION_EDGE_LENGTH * (max_element_width + 1) + 1); - std::array traversability_SE{0}; - for (auto bitIndex : SetBitIterator(this->data.edge_traversability_bits[DIAGDIR_SE])) *(traversability_SE.rbegin() + bitIndex) = 1; - Debug(map, 9, " {:{}}", fmt::join(traversability_SE, " "), max_element_width); + traversability = fmt::format("{:0{}b}", this->data.edge_traversability_bits[DIAGDIR_SE], WATER_REGION_EDGE_LENGTH); + Debug(map, 9, " {:{}}", fmt::join(traversability, " "), max_element_width); } };