Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions include/samurai/algorithm/graduation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<int>(CellFlag::refine);
auto mask = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast<std::uint8_t>(CellFlag::refine);
auto i_c = i_f >> 1;
apply_on_masked(tag(level - 1, i_c, index >> 1),
mask,
[](auto& e)
{
e |= static_cast<int>(CellFlag::refine);
e |= static_cast<std::uint8_t>(CellFlag::refine);
});

auto mask2 = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast<int>(CellFlag::keep);
auto mask2 = tag(level, i_f - s[0], index - view(s, xt::range(1, _))) & static_cast<std::uint8_t>(CellFlag::keep);
apply_on_masked(tag(level - 1, i_c, index >> 1),
mask2,
[](auto& e)
{
e |= static_cast<int>(CellFlag::keep);
e |= static_cast<std::uint8_t>(CellFlag::keep);
});
};

Expand Down Expand Up @@ -692,9 +692,9 @@ namespace samurai
for (value_t x = x_interval.start; x < x_interval.end; ++x)
{
const size_type itag = static_cast<size_type>(x_interval.index) + static_cast<unsigned_value_t>(x);
const bool refine = tag[itag] & static_cast<int>(CellFlag::refine);
const bool coarsenAndNotKeep = tag[itag] & static_cast<int>(CellFlag::coarsen)
and not(tag[itag] & static_cast<int>(CellFlag::keep));
const bool refine = tag[itag] & static_cast<std::uint8_t>(CellFlag::refine);
const bool coarsenAndNotKeep = tag[itag] & static_cast<std::uint8_t>(CellFlag::coarsen)
and not(tag[itag] & static_cast<std::uint8_t>(CellFlag::keep));
if (refine and level < mesh.max_level())
{
ca_remove_p[level].add_point_back(x, yz);
Expand Down
62 changes: 31 additions & 31 deletions include/samurai/algorithm/update.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -873,10 +873,10 @@ namespace samurai
{
if constexpr (dim == 1)
{
auto mask1 = (tag(level, 2 * i) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1) & static_cast<int>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1) & static_cast<int>(CellFlag::keep));
auto mask1 = (tag(level, 2 * i) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1) & static_cast<std::uint8_t>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1) & static_cast<std::uint8_t>(CellFlag::keep));
auto mask = xt::eval(mask1 && !mask2);

xt::masked_view(tag(level, 2 * i), mask) = 0;
Expand All @@ -885,14 +885,14 @@ namespace samurai
if constexpr (dim == 2)
{
auto j = index[0];
auto mask1 = (tag(level, 2 * i, 2 * j) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1) & static_cast<int>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i, 2 * j) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1) & static_cast<int>(CellFlag::keep));
auto mask1 = (tag(level, 2 * i, 2 * j) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1) & static_cast<std::uint8_t>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i, 2 * j) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1) & static_cast<std::uint8_t>(CellFlag::keep));
auto mask = xt::eval(mask1 && !mask2);

xt::masked_view(tag(level, 2 * i, 2 * j), mask) = 0;
Expand All @@ -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<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast<int>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast<int>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast<int>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast<int>(CellFlag::keep));
auto mask1 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::coarsen))
& (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::coarsen));
auto mask2 = (tag(level, 2 * i, 2 * j, 2 * k) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j, 2 * k) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1, 2 * k) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1, 2 * k) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i, 2 * j + 1, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::keep))
| (tag(level, 2 * i + 1, 2 * j + 1, 2 * k + 1) & static_cast<std::uint8_t>(CellFlag::keep));
auto mask = xt::eval(mask1 && !mask2);

xt::masked_view(tag(level, 2 * i, 2 * j, 2 * k), mask) = 0;
Expand Down Expand Up @@ -1454,7 +1454,7 @@ namespace samurai
auto itag = static_cast<size_type>(interval.start + interval.index);
for (auto i = interval.start; i < interval.end; ++i)
{
if (tag[itag] & static_cast<int>(CellFlag::refine))
if (tag[itag] & static_cast<std::uint8_t>(CellFlag::refine))
{
if (level < mesh.max_level())
{
Expand All @@ -1470,11 +1470,11 @@ namespace samurai
cl[level][index].add_point(i);
}
}
else if (tag[itag] & static_cast<int>(CellFlag::keep))
else if (tag[itag] & static_cast<std::uint8_t>(CellFlag::keep))
{
cl[level][index].add_point(i);
}
else if (tag[itag] & static_cast<int>(CellFlag::coarsen))
else if (tag[itag] & static_cast<std::uint8_t>(CellFlag::coarsen))
{
if (level > mesh.min_level())
{
Expand Down
Loading
Loading