diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-10-11 17:53:25 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-10-11 17:57:13 +0200 |
commit | 5d1954365b9c1010372dfc020afb7ff7450b4e14 (patch) | |
tree | 9809411ea0468da74df62eb6c31849c1df020ea4 /bench | |
parent | ca4544f04cc67c296e58170e76203bc11519d988 (diff) |
a
Diffstat (limited to 'bench')
-rw-r--r-- | bench/01-dijkstra.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/bench/01-dijkstra.cpp b/bench/01-dijkstra.cpp index b358f1f9..1f1069ab 100644 --- a/bench/01-dijkstra.cpp +++ b/bench/01-dijkstra.cpp @@ -22,29 +22,32 @@ void Dijkstra(benchmark::State& state) constexpr auto wt = local_coords{wtx, wty}; constexpr auto wpos = global_coords{wch, wt}; - auto& ch = w[chunk_coords_{0,0,0}]; - auto& ch2 = w[wch]; + auto& ch = w[wch]; auto metal2 = tile_image_proto{loader.tile_atlas("metal2", {2, 2}, pass_mode::blocked), 0}; for (int16_t j = wcy - 1; j <= wcy + 1; j++) for (int16_t i = wcx - 1; i <= wcx + 1; i++) { auto &c = w[chunk_coords_{i, j, 0}]; - for (int k : { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, }) + for (int k : { 3, 4, 5, 6, 11, 12, 13, 14, 15, }) { c[{ k, k }].wall_north() = metal2; c[{ k, k }].wall_west() = metal2; } } - ch2[{ wtx, wty }].wall_west() = metal2; - ch2[{ wtx, wty }].wall_north() = metal2; - ch2[{ wtx+1, wty }].wall_west() = metal2; - ch2[{ wtx, wty -1}].wall_north() = metal2; + ch[{ wtx, wty }].wall_west() = metal2; + ch[{ wtx, wty }].wall_north() = metal2; + ch[{ wtx+1, wty }].wall_west() = metal2; + ch[{ wtx, wty -1}].wall_north() = metal2; - fm_assert(ch.is_passability_modified()); - ch.ensure_passability(); - ch2.ensure_passability(); + for (int16_t j = wcy - 1; j <= wcy + 1; j++) + for (int16_t i = wcx - 1; i <= wcx + 1; i++) + { + auto& c = w[chunk_coords_{i, j, 0}]; + c.mark_passability_modified(); + c.ensure_passability(); + } auto run = [&] { A.Dijkstra(w, |