/** Interleave the bits of s[0], s[1], ... */ static inline code_type interleave(const point_type& s) { code_type code = code_type(0); for (unsigned i = 0; i < DIM; ++i) { FMMTL_ASSERT(unsigned(s[i]) < cells_per_side()); code |= spread_bits(unsigned(s[i])) << i; } return code; }
operator code_type() const { return code_type(this->Value); }
code_type code() const { return code_type(code_range::get(this->internal())); }