|
| template<unsigned Dim, unsigned Bits, typename Fn > |
| void | for_each_in_box (const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &lo, const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &hi, Fn &&fn) |
| | Visit every cell of the inclusive box [lo, hi] in row-major order (axis 0 varies fastest).
|
| |
| template<unsigned Dim, unsigned Bits> |
| bool | bigmin_in_box (const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &lo, const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &hi, Morton< Dim, Bits > probe, Morton< Dim, Bits > &out) |
| | Smallest Morton code in the inclusive box [lo, hi] that is strictly greater than probe.
|
| |
| template<unsigned Dim, unsigned Bits> |
| bool | litmax_in_box (const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &lo, const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &hi, Morton< Dim, Bits > probe, Morton< Dim, Bits > &out) |
| | Largest Morton code in the inclusive box [lo, hi] that is strictly less than probe.
|
| |
| template<unsigned Dim, unsigned Bits> |
| MORTON_HD bool | in_box (const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &lo, const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &hi, Morton< Dim, Bits > m) |
| | Test whether m lies inside the inclusive box [lo, hi].
|
| |
| template<unsigned Dim, unsigned Bits, typename Fn > |
| void | for_each_in_box_zorder (const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &lo, const std::array< typename Morton< Dim, Bits >::coord_type, Dim > &hi, Fn &&fn) |
| | Visit every cell of the inclusive box [lo, hi] in Z-order (increasing Morton code), skipping the gaps between rows with BIGMIN.
|
| |
template<unsigned Dim, unsigned Bits, typename Fn >
| void morton::for_each_in_box |
( |
const std::array< typename Morton< Dim, Bits >::coord_type, Dim > & |
lo, |
|
|
const std::array< typename Morton< Dim, Bits >::coord_type, Dim > & |
hi, |
|
|
Fn && |
fn |
|
) |
| |
Visit every cell of the inclusive box [lo, hi] in row-major order (axis 0 varies fastest).
Advancing from one cell to the next costs O(1) amortised Morton arithmetic; the full coordinate tuple is never re-encoded.