From 895c1f85acd054159cdc2867acf6a61ffa492d24 Mon Sep 17 00:00:00 2001 From: Loic Gouarin Date: Sat, 21 Mar 2026 06:56:40 +0100 Subject: [PATCH 1/3] ... --- include/samurai/algorithm/graduation.hpp | 14 ++-- include/samurai/algorithm/update.hpp | 62 ++++++++--------- include/samurai/algorithm/utils.hpp | 85 ++++++++++++------------ include/samurai/cell_flag.hpp | 2 +- include/samurai/io/from_geometry.hpp | 14 ++-- 5 files changed, 89 insertions(+), 88 deletions(-) diff --git a/include/samurai/algorithm/graduation.hpp b/include/samurai/algorithm/graduation.hpp index f0dbba80d..194985d67 100644 --- a/include/samurai/algorithm/graduation.hpp +++ b/include/samurai/algorithm/graduation.hpp @@ -94,21 +94,21 @@ namespace samurai auto tag_func = [&](auto& i_f) { - auto mask = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast(CellFlag::refine); + auto mask = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast(CellFlag::refine); auto i_c = i_f >> 1; apply_on_masked(tag(level - 1, i_c, index >> 1), mask, [](auto& e) { - e |= static_cast(CellFlag::refine); + e |= static_cast(CellFlag::refine); }); - auto mask2 = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast(CellFlag::keep); + auto mask2 = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast(CellFlag::keep); apply_on_masked(tag(level - 1, i_c, index >> 1), mask2, [](auto& e) { - e |= static_cast(CellFlag::keep); + e |= static_cast(CellFlag::keep); }); }; @@ -692,9 +692,9 @@ namespace samurai for (value_t x = x_interval.start; x < x_interval.end; ++x) { const size_type itag = static_cast(x_interval.index) + static_cast(x); - const bool refine = tag[itag] & static_cast(CellFlag::refine); - const bool coarsenAndNotKeep = tag[itag] & static_cast(CellFlag::coarsen) - and not(tag[itag] & static_cast(CellFlag::keep)); + const bool refine = tag[itag] & static_cast(CellFlag::refine); + const bool coarsenAndNotKeep = tag[itag] & static_cast(CellFlag::coarsen) + and not(tag[itag] & static_cast(CellFlag::keep)); if (refine and level < mesh.max_level()) { ca_remove_p[level].add_point_back(x, yz); diff --git a/include/samurai/algorithm/update.hpp b/include/samurai/algorithm/update.hpp index 5911f7871..43b4c8268 100644 --- a/include/samurai/algorithm/update.hpp +++ b/include/samurai/algorithm/update.hpp @@ -873,10 +873,10 @@ namespace samurai { if constexpr (dim == 1) { - auto mask1 = (tag(level, 2 * i) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1) & static_cast(CellFlag::coarsen)); - auto mask2 = (tag(level, 2 * i) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1) & static_cast(CellFlag::keep)); + auto mask1 = (tag(level, 2 * i) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1) & static_cast(CellFlag::coarsen)); + auto mask2 = (tag(level, 2 * i) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1) & static_cast(CellFlag::keep)); auto mask = xt::eval(mask1 && !mask2); xt::masked_view(tag(level, 2 * i), mask) = 0; @@ -885,14 +885,14 @@ namespace samurai if constexpr (dim == 2) { auto j = index[0]; - auto mask1 = (tag(level, 2 * i, 2 * j) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i, 2 * j + 1) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::coarsen)); - auto mask2 = (tag(level, 2 * i, 2 * j) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i, 2 * j + 1) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::keep)); + auto mask1 = (tag(level, 2 * i, 2 * j) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i, 2 * j + 1) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::coarsen)); + auto mask2 = (tag(level, 2 * i, 2 * j) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i, 2 * j + 1) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::keep)); auto mask = xt::eval(mask1 && !mask2); xt::masked_view(tag(level, 2 * i, 2 * j), mask) = 0; @@ -904,22 +904,22 @@ namespace samurai { auto j = index[0]; auto k = index[1]; - auto mask1 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::coarsen)) - & (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::coarsen)); - auto mask2 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)); + auto mask1 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::coarsen)) + & (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::coarsen)); + auto mask2 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)); auto mask = xt::eval(mask1 && !mask2); xt::masked_view(tag(level, 2 * i, 2 * j, 2 * k), mask) = 0; @@ -1454,7 +1454,7 @@ namespace samurai auto itag = static_cast(interval.start + interval.index); for (auto i = interval.start; i < interval.end; ++i) { - if (tag[itag] & static_cast(CellFlag::refine)) + if (tag[itag] & static_cast(CellFlag::refine)) { if (level < mesh.max_level()) { @@ -1470,11 +1470,11 @@ namespace samurai cl[level][index].add_point(i); } } - else if (tag[itag] & static_cast(CellFlag::keep)) + else if (tag[itag] & static_cast(CellFlag::keep)) { cl[level][index].add_point(i); } - else if (tag[itag] & static_cast(CellFlag::coarsen)) + else if (tag[itag] & static_cast(CellFlag::coarsen)) { if (level > mesh.min_level()) { diff --git a/include/samurai/algorithm/utils.hpp b/include/samurai/algorithm/utils.hpp index cf29ad514..35b2c0b92 100644 --- a/include/samurai/algorithm/utils.hpp +++ b/include/samurai/algorithm/utils.hpp @@ -62,7 +62,7 @@ namespace samurai static_nested_loop<1, -s, s + 1>( [&](const auto& stencil) { - tag(level, i + stencil[0]) |= static_cast(CellFlag::keep); + tag(level, i + stencil[0]) |= static_cast(CellFlag::keep); }); } @@ -77,7 +77,7 @@ namespace samurai static_nested_loop<1, -s, s + 1>( [&](const auto& stencil) { - tag(level, i + stencil[0])(imask) |= static_cast(CellFlag::keep); + tag(level, i + stencil[0])(imask) |= static_cast(CellFlag::keep); }); }); } @@ -88,7 +88,7 @@ namespace samurai static_nested_loop<2, -s, s + 1>( [&](const auto& stencil) { - tag(level, i + stencil[0], j + stencil[1]) |= static_cast(CellFlag::keep); + tag(level, i + stencil[0], j + stencil[1]) |= static_cast(CellFlag::keep); }); } @@ -103,7 +103,7 @@ namespace samurai static_nested_loop<2, -s, s + 1>( [&](const auto& stencil) { - tag(level, i + stencil[0], j + stencil[1])(imask) |= static_cast(CellFlag::keep); + tag(level, i + stencil[0], j + stencil[1])(imask) |= static_cast(CellFlag::keep); }); }); } @@ -114,7 +114,7 @@ namespace samurai static_nested_loop<3, -s, s + 1>( [&](const auto& stencil) { - tag(level, i + stencil[0], j + stencil[1], k + stencil[2]) |= static_cast(CellFlag::keep); + tag(level, i + stencil[0], j + stencil[1], k + stencil[2]) |= static_cast(CellFlag::keep); }); } @@ -123,15 +123,16 @@ namespace samurai { auto mask = (tag(level, i, j, k) & static_cast(flag)); - apply_on_masked(mask, - [&](auto imask) - { - static_nested_loop<3, -s, s + 1>( - [&](const auto& stencil) - { - tag(level, i + stencil[0], j + stencil[1], k + stencil[2])(imask) |= static_cast(CellFlag::keep); - }); - }); + apply_on_masked( + mask, + [&](auto imask) + { + static_nested_loop<3, -s, s + 1>( + [&](const auto& stencil) + { + tag(level, i + stencil[0], j + stencil[1], k + stencil[2])(imask) |= static_cast(CellFlag::keep); + }); + }); } }; @@ -161,58 +162,58 @@ namespace samurai template SAMURAI_INLINE void operator()(Dim<1>, T& tag) const { - auto mask = (tag(level + 1, 2 * i) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1) & static_cast(CellFlag::keep)); + auto mask = (tag(level + 1, 2 * i) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1) & static_cast(CellFlag::keep)); apply_on_masked(mask, [&](auto imask) { - tag(level + 1, 2 * i)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1)(imask) |= static_cast(CellFlag::keep); }); } template SAMURAI_INLINE void operator()(Dim<2>, T& tag) const { - auto mask = (tag(level + 1, 2 * i, 2 * j) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i, 2 * j + 1) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::keep)); + auto mask = (tag(level + 1, 2 * i, 2 * j) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i, 2 * j + 1) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j + 1) & static_cast(CellFlag::keep)); apply_on_masked(mask, [&](auto imask) { - tag(level + 1, 2 * i, 2 * j)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i, 2 * j + 1)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j + 1)(imask) |= static_cast(CellFlag::keep); }); } template SAMURAI_INLINE void operator()(Dim<3>, T& tag) const { - auto mask = (tag(level + 1, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)) - | (tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)); + auto mask = (tag(level + 1, 2 * i, 2 * j, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)) + | (tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast(CellFlag::keep)); apply_on_masked(mask, [&](auto imask) { - tag(level + 1, 2 * i, 2 * j, 2 * k)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j, 2 * k)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i, 2 * j + 1, 2 * k)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i, 2 * j, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i, 2 * j + 1, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); - tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j, 2 * k)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j, 2 * k)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j + 1, 2 * k)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i, 2 * j + 1, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); + tag(level + 1, 2 * i + 1, 2 * j + 1, 2 * k + 1)(imask) |= static_cast(CellFlag::keep); }); } }; diff --git a/include/samurai/cell_flag.hpp b/include/samurai/cell_flag.hpp index 2ddb7cb2f..b8f54fd01 100644 --- a/include/samurai/cell_flag.hpp +++ b/include/samurai/cell_flag.hpp @@ -6,7 +6,7 @@ namespace samurai { - enum class CellFlag + enum class CellFlag : std::uint8_t { keep = 1, coarsen = 2, diff --git a/include/samurai/io/from_geometry.hpp b/include/samurai/io/from_geometry.hpp index b3dbdbb5f..2cc9d5630 100644 --- a/include/samurai/io/from_geometry.hpp +++ b/include/samurai/io/from_geometry.hpp @@ -60,7 +60,7 @@ namespace samurai for_each_interval(mesh[level], [&](std::size_t level, const auto& i, const auto& index) { - tag(level, i, index[0], index[1]) = static_cast(CellFlag::keep); + tag(level, i, index[0], index[1]) = static_cast(CellFlag::keep); }); } @@ -92,11 +92,11 @@ namespace samurai { if (current_level != max_level) { - tag[cells[b.id() - start_id]] = static_cast(CellFlag::refine); + tag[cells[b.id() - start_id]] = static_cast(CellFlag::refine); } else { - tag[cells[b.id() - start_id]] = static_cast(CellFlag::keep); + tag[cells[b.id() - start_id]] = static_cast(CellFlag::keep); } } }; @@ -110,11 +110,11 @@ namespace samurai res = inside({center(0), center(1), center(2)}); if (res == CGAL::ON_BOUNDED_SIDE && keep_inside) { - tag[cell] |= static_cast(CellFlag::keep); + tag[cell] |= static_cast(CellFlag::keep); } if (res == CGAL::ON_UNBOUNDED_SIDE && keep_outside) { - tag[cell] |= static_cast(CellFlag::keep); + tag[cell] |= static_cast(CellFlag::keep); } }); @@ -131,7 +131,7 @@ namespace samurai auto itag = interval.start + interval.index; for (typename interval_t::value_t i = interval.start; i < interval.end; ++i, ++itag) { - if ((tag[itag] & static_cast(CellFlag::refine)) && level < max_level) + if ((tag[itag] & static_cast(CellFlag::refine)) && level < max_level) { static_nested_loop<2, 0, 2>( [&](auto stencil) @@ -140,7 +140,7 @@ namespace samurai cl[level + 1][index].add_interval({2 * i, 2 * i + 2}); }); } - else if (tag[itag] & static_cast(CellFlag::keep)) + else if (tag[itag] & static_cast(CellFlag::keep)) { cl[level][index_yz].add_point(i); } From 6e1b5aa658bacea544e8f5930e8ada9969a2d03f Mon Sep 17 00:00:00 2001 From: Loic Gouarin Date: Wed, 29 Apr 2026 16:37:37 +0200 Subject: [PATCH 2/3] ... --- include/samurai/cell_flag.hpp | 2 ++ include/samurai/io/from_geometry.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/samurai/cell_flag.hpp b/include/samurai/cell_flag.hpp index b8f54fd01..e24b91d3a 100644 --- a/include/samurai/cell_flag.hpp +++ b/include/samurai/cell_flag.hpp @@ -4,6 +4,8 @@ #pragma once +#include + namespace samurai { enum class CellFlag : std::uint8_t diff --git a/include/samurai/io/from_geometry.hpp b/include/samurai/io/from_geometry.hpp index 2cc9d5630..0dc54d7af 100644 --- a/include/samurai/io/from_geometry.hpp +++ b/include/samurai/io/from_geometry.hpp @@ -52,7 +52,7 @@ namespace samurai std::size_t current_level = start_level; while (current_level != max_level + 1) { - auto tag = make_scalar_field("tag", mesh); + auto tag = make_scalar_field("tag", mesh); tag.fill(0); for (std::size_t level = mesh.min_level(); level < current_level; ++level) From 522bcdf6824ada05807434a943d0b94aae304ce9 Mon Sep 17 00:00:00 2001 From: Loic Gouarin Date: Thu, 30 Apr 2026 06:50:30 +0200 Subject: [PATCH 3/3] ... --- include/samurai/algorithm/utils.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/samurai/algorithm/utils.hpp b/include/samurai/algorithm/utils.hpp index 35b2c0b92..dddf2207b 100644 --- a/include/samurai/algorithm/utils.hpp +++ b/include/samurai/algorithm/utils.hpp @@ -69,7 +69,7 @@ namespace samurai template SAMURAI_INLINE void operator()(Dim<1>, T& tag, const Flag& flag, std::integral_constant) const { - auto mask = (tag(level, i) & static_cast(flag)); + auto mask = (tag(level, i) & static_cast(flag)); apply_on_masked(mask, [&](auto imask) @@ -95,7 +95,7 @@ namespace samurai template SAMURAI_INLINE void operator()(Dim<2>, T& tag, const Flag& flag, std::integral_constant) const { - auto mask = (tag(level, i, j) & static_cast(flag)); + auto mask = (tag(level, i, j) & static_cast(flag)); apply_on_masked(mask, [&](auto imask) @@ -121,7 +121,7 @@ namespace samurai template SAMURAI_INLINE void operator()(Dim<3>, T& tag, const Flag& flag, std::integral_constant) const { - auto mask = (tag(level, i, j, k) & static_cast(flag)); + auto mask = (tag(level, i, j, k) & static_cast(flag)); apply_on_masked( mask,