58 : coarse_cell_id(binary_representation[0])
59 , n_child_indices(static_cast<
std::uint8_t>(binary_representation[2] & 0xFF))
65 unsigned int binary_entry_index = 1;
66 int index_within_binary_entry = 7;
69 binary_type::value_type mask = 0;
70 if (child_no % 2 == 0)
76 auto value = (binary_representation[binary_entry_index] >>
77 (8 * index_within_binary_entry)) &
79 if (child_no % 2 == 0)
87 if (child_no % 2 == 1)
88 --index_within_binary_entry;
89 if (index_within_binary_entry == -1)
92 index_within_binary_entry = 7;
112 binary_representation.fill(0);
115 unsigned int binary_entry_index = 1;
116 int index_within_binary_entry = 7;
120 Assert(index_within_binary_entry <
int(
sizeof(binary_type::value_type)),
130 for (std::uint8_t child_no = 0; child_no <
n_child_indices; ++child_no)
136 binary_type::value_type entry = 0;
138 if (child_no % 2 == 0)
144 binary_representation[binary_entry_index] |=
145 (entry << 8 * index_within_binary_entry);
147 if (child_no % 2 == 1)
148 --index_within_binary_entry;
149 if (index_within_binary_entry == -1)
151 ++binary_entry_index;
152 index_within_binary_entry = 7;
156 if (binary_entry_index == 2)
161 return binary_representation;