| 536 | } |
| 537 | |
| 538 | inline void fill(const T value) |
| 539 | { |
| 540 | for (auto block_index : util::irange<std::size_t>(0, vec.size() / BLOCK_WORDS)) |
| 541 | { |
| 542 | const auto block_offset = block_index * BLOCK_WORDS; |
| 543 | |
| 544 | for (auto element_index : util::irange<std::uint8_t>(0, BLOCK_ELEMENTS)) |
| 545 | { |
| 546 | const auto lower_word_index = block_offset + word_offset[element_index]; |
| 547 | set_value({lower_word_index, element_index}, value); |
| 548 | } |
| 549 | } |
| 550 | } |
| 551 | |
| 552 | inline T get_value(const InternalIndex internal_index) const |
| 553 | { |