From b7939b9320355477c9efd69181f2587df3aa0f55 Mon Sep 17 00:00:00 2001 From: Patrick Gordon Date: Wed, 21 Nov 2018 12:44:23 +0000 Subject: [PATCH] namespace aether -> zinc --- libzinc/AABB.hh | 4 +- libzinc/cell.hh | 4 +- libzinc/encoding.hh | 18 +-- libzinc/interval.hh | 4 +- libzinc/region.hh | 4 +- libzinc/util.hh | 4 +- test/zinc-test.cc | 338 ++++++++++++++++++++++---------------------- 7 files changed, 188 insertions(+), 188 deletions(-) diff --git a/libzinc/AABB.hh b/libzinc/AABB.hh index 44b3540..3408975 100644 --- a/libzinc/AABB.hh +++ b/libzinc/AABB.hh @@ -13,7 +13,7 @@ #include #include -namespace aether { +namespace zinc { namespace morton { @@ -289,4 +289,4 @@ std::pair, morton_code> (level * c.dimension)) == (c.data >> (level * c.dimension)); } - aether::morton::region<2,32> region() const { + zinc::morton::region<2,32> region() const { return {{{code, code + (1 << (level * 2)) - 1}}}; } template - aether::morton::region<2,32, T> region(T data) const { + zinc::morton::region<2,32, T> region(T data) const { return {{{code, code + (1 << (level * 2)) - 1}, data}}; } }; diff --git a/libzinc/encoding.hh b/libzinc/encoding.hh index 42aa26f..93973a7 100644 --- a/libzinc/encoding.hh +++ b/libzinc/encoding.hh @@ -14,15 +14,15 @@ struct morton_code { "only 2D and 32 bits, or 3D and 21 bits are currently supported."); }; -using aether::morton::__morton_2_x_mask; -using aether::morton::__morton_2_y_mask; -using aether::morton::__morton_3_x_mask; -using aether::morton::__morton_3_y_mask; -using aether::morton::__morton_3_z_mask; -using aether::morton::expand_bits_2; -using aether::morton::compact_bits_2; -using aether::morton::expand_bits_3; -using aether::morton::compact_bits_3; +using zinc::morton::__morton_2_x_mask; +using zinc::morton::__morton_2_y_mask; +using zinc::morton::__morton_3_x_mask; +using zinc::morton::__morton_3_y_mask; +using zinc::morton::__morton_3_z_mask; +using zinc::morton::expand_bits_2; +using zinc::morton::compact_bits_2; +using zinc::morton::expand_bits_3; +using zinc::morton::compact_bits_3; template<> struct morton_code<2, 32> { diff --git a/libzinc/interval.hh b/libzinc/interval.hh index 8ce9656..71b63a9 100644 --- a/libzinc/interval.hh +++ b/libzinc/interval.hh @@ -11,7 +11,7 @@ #include #include -namespace aether { +namespace zinc { namespace morton { @@ -194,4 +194,4 @@ static interval get_parent_cell(const interval #include -namespace aether { +namespace zinc { namespace morton { @@ -288,4 +288,4 @@ static region<2,32,T> cell_to_region(uint64_t code, uint64_t level, T data) { } //::morton -}//aether +}//zinc diff --git a/libzinc/util.hh b/libzinc/util.hh index c785cc5..906d6ea 100644 --- a/libzinc/util.hh +++ b/libzinc/util.hh @@ -6,7 +6,7 @@ #include #include -namespace aether { +namespace zinc { namespace morton { @@ -129,4 +129,4 @@ static inline constexpr Integer compact_bits_2(Integer x) { } //::morton -} //::aether +} //::zinc diff --git a/test/zinc-test.cc b/test/zinc-test.cc index 5e3f765..4cd3ed4 100644 --- a/test/zinc-test.cc +++ b/test/zinc-test.cc @@ -8,29 +8,29 @@ int main() { { - assert(!(aether::morton::AABB<2, 32>{3, 12}).is_morton_aligned()); - assert(!(aether::morton::AABB<2, 32>{15, 48}).is_morton_aligned()); - assert(!(aether::morton::AABB<2, 32>{1, 2}).is_morton_aligned()); - assert(!(aether::morton::AABB<2, 32>{16, 23}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{0, 3}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{8, 11}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{12, 15}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{4, 7}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{0, 0}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{2, 2}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{7, 7}).is_morton_aligned()); - assert((aether::morton::AABB<2, 32>{0, 15}).is_morton_aligned()); + assert(!(zinc::morton::AABB<2, 32>{3, 12}).is_morton_aligned()); + assert(!(zinc::morton::AABB<2, 32>{15, 48}).is_morton_aligned()); + assert(!(zinc::morton::AABB<2, 32>{1, 2}).is_morton_aligned()); + assert(!(zinc::morton::AABB<2, 32>{16, 23}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{0, 3}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{8, 11}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{12, 15}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{4, 7}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{0, 0}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{2, 2}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{7, 7}).is_morton_aligned()); + assert((zinc::morton::AABB<2, 32>{0, 15}).is_morton_aligned()); } { uint64_t x; - x = 1; assert(aether::morton::fast_log2(x) == (uint64_t)log2(x)); - x = 2; assert(aether::morton::fast_log2(x) == (uint64_t)log2(x)); - x = 3; assert(aether::morton::fast_log2(x) == (uint64_t)log2(x)); - x = 4; assert(aether::morton::fast_log2(x) == (uint64_t)log2(x)); - x = 8; assert(aether::morton::fast_log2(x) == (uint64_t)log2(x)); + x = 1; assert(zinc::morton::fast_log2(x) == (uint64_t)log2(x)); + x = 2; assert(zinc::morton::fast_log2(x) == (uint64_t)log2(x)); + x = 3; assert(zinc::morton::fast_log2(x) == (uint64_t)log2(x)); + x = 4; assert(zinc::morton::fast_log2(x) == (uint64_t)log2(x)); + x = 8; assert(zinc::morton::fast_log2(x) == (uint64_t)log2(x)); } { - aether::morton::AABB<2, 32> aabb = {51, 193}; + zinc::morton::AABB<2, 32> aabb = {51, 193}; uint64_t litmax = 0, bigmin = 0; std::tie(litmax, bigmin) = aabb.morton_get_next_address(); assert(litmax == 107); @@ -52,24 +52,24 @@ int main() { { bool good = - (aether::morton::region<2, 32>{{ + (zinc::morton::region<2, 32>{{ {0, 1}, {1, 2}, {2, 3}, {3, 4}, - }} | aether::morton::region<2, 32>{{ - }}) == aether::morton::region<2, 32>{{ + }} | zinc::morton::region<2, 32>{{ + }}) == zinc::morton::region<2, 32>{{ {0, 4}, }}; assert(good); } { - aether::morton::AABB<2, 32> aabb {0, 12}; + zinc::morton::AABB<2, 32> aabb {0, 12}; - aether::morton::region<2, 32> region = aabb.to_cells(); + zinc::morton::region<2, 32> region = aabb.to_cells(); - std::vector>::iterator it = region.intervals.begin(); + std::vector>::iterator it = region.intervals.begin(); assert(it->start == 0); assert(it->end == 3); ++it; @@ -92,11 +92,11 @@ int main() { } { - aether::morton::AABB<2, 32> aabb {0, 12}; + zinc::morton::AABB<2, 32> aabb {0, 12}; - aether::morton::region<2, 32> region = aabb.to_intervals(); + zinc::morton::region<2, 32> region = aabb.to_intervals(); - std::vector>::iterator it = region.intervals.begin(); + std::vector>::iterator it = region.intervals.begin(); assert(it->start == 0); assert(it->end == 4); ++it; @@ -113,7 +113,7 @@ int main() { } { - aether::morton::AABB<2, 32> aabb {0, 12}; + zinc::morton::AABB<2, 32> aabb {0, 12}; auto it = aabb.begin(); assert(it->start == 0); @@ -133,7 +133,7 @@ int main() { { // test that 0,0 works with the uninitialised check in the iterator.progress() function - aether::morton::AABB<2, 32> aabb {0, 0}; + zinc::morton::AABB<2, 32> aabb {0, 0}; auto it = aabb.begin(); assert(it->start == 0); @@ -143,95 +143,95 @@ int main() { } { - auto l = aether::morton::detail::interval<2, 32>{0,5}; - auto r = aether::morton::detail::interval<2, 32>{2,7}; + auto l = zinc::morton::detail::interval<2, 32>{0,5}; + auto r = zinc::morton::detail::interval<2, 32>{2,7}; auto i = l.intersect(r); assert(i.has_value()); assert(i.value().start == 2); assert(i.value().end == 5); - r = aether::morton::detail::interval<2, 32>{7,23}; + r = zinc::morton::detail::interval<2, 32>{7,23}; i = l.intersect(r); assert(!i.has_value()); } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,1},aether::morton::detail::interval<2, 32>{3,4}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,1},zinc::morton::detail::interval<2, 32>{3,4}} }; - auto b = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,3}} + auto b = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,3}} }; a &= b; assert(a.intervals.size() == 2); - auto x = aether::morton::detail::interval<2, 32>{0,1}; - auto y = aether::morton::detail::interval<2, 32>{3,3}; + auto x = zinc::morton::detail::interval<2, 32>{0,1}; + auto y = zinc::morton::detail::interval<2, 32>{3,3}; assert(a.intervals[0] == x); assert(a.intervals[1] == y); } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,63}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,63}} }; - auto b = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,3},aether::morton::detail::interval<2, 32>{24,27}, aether::morton::detail::interval<2, 32>{48,63}} + auto b = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,3},zinc::morton::detail::interval<2, 32>{24,27}, zinc::morton::detail::interval<2, 32>{48,63}} }; a &= b; assert(a.intervals.size() == 3); - auto x = aether::morton::detail::interval<2, 32>{0,3}; - auto y = aether::morton::detail::interval<2, 32>{24,27}; - auto z = aether::morton::detail::interval<2, 32>{48,63}; + auto x = zinc::morton::detail::interval<2, 32>{0,3}; + auto y = zinc::morton::detail::interval<2, 32>{24,27}; + auto z = zinc::morton::detail::interval<2, 32>{48,63}; assert(a.intervals[0] == x); assert(a.intervals[1] == y); assert(a.intervals[2] == z); } { - auto a = aether::morton::region<2, 32>{{}}; - auto b = aether::morton::region<2, 32>{{}}; + auto a = zinc::morton::region<2, 32>{{}}; + auto b = zinc::morton::region<2, 32>{{}}; a &= b; assert(a.intervals.size() == 0); } { - auto a = aether::morton::region<2, 32>{{aether::morton::detail::interval<2, 32>{0,1}}}; - auto b = aether::morton::region<2, 32>{{}}; + auto a = zinc::morton::region<2, 32>{{zinc::morton::detail::interval<2, 32>{0,1}}}; + auto b = zinc::morton::region<2, 32>{{}}; a &= b; assert(a.intervals.size() == 0); } { - auto a = aether::morton::region<2, 32>{{}}; - auto b = aether::morton::region<2, 32>{{aether::morton::detail::interval<2, 32>{0,1}}}; + auto a = zinc::morton::region<2, 32>{{}}; + auto b = zinc::morton::region<2, 32>{{zinc::morton::detail::interval<2, 32>{0,1}}}; a &= b; assert(a.intervals.size() == 0); } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,15} - ,aether::morton::detail::interval<2, 32>{16,17} - ,aether::morton::detail::interval<2, 32>{20,21} - ,aether::morton::detail::interval<2, 32>{24,25} - ,aether::morton::detail::interval<2, 32>{28,29}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,15} + ,zinc::morton::detail::interval<2, 32>{16,17} + ,zinc::morton::detail::interval<2, 32>{20,21} + ,zinc::morton::detail::interval<2, 32>{24,25} + ,zinc::morton::detail::interval<2, 32>{28,29}} }; - auto b = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,1} - ,aether::morton::detail::interval<2, 32>{4,5} - ,aether::morton::detail::interval<2, 32>{8,9} - ,aether::morton::detail::interval<2, 32>{12,13} - ,aether::morton::detail::interval<2, 32>{16,31}} + auto b = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,1} + ,zinc::morton::detail::interval<2, 32>{4,5} + ,zinc::morton::detail::interval<2, 32>{8,9} + ,zinc::morton::detail::interval<2, 32>{12,13} + ,zinc::morton::detail::interval<2, 32>{16,31}} }; a &= b; assert(a.intervals.size() == 8); - auto r1 = aether::morton::detail::interval<2, 32>{0,1}; - auto r2 = aether::morton::detail::interval<2, 32>{4,5}; - auto r3 = aether::morton::detail::interval<2, 32>{8,9}; - auto r4 = aether::morton::detail::interval<2, 32>{12,13}; - auto r5 = aether::morton::detail::interval<2, 32>{16,17}; - auto r6 = aether::morton::detail::interval<2, 32>{20,21}; - auto r7 = aether::morton::detail::interval<2, 32>{24,25}; - auto r8 = aether::morton::detail::interval<2, 32>{28,29}; + auto r1 = zinc::morton::detail::interval<2, 32>{0,1}; + auto r2 = zinc::morton::detail::interval<2, 32>{4,5}; + auto r3 = zinc::morton::detail::interval<2, 32>{8,9}; + auto r4 = zinc::morton::detail::interval<2, 32>{12,13}; + auto r5 = zinc::morton::detail::interval<2, 32>{16,17}; + auto r6 = zinc::morton::detail::interval<2, 32>{20,21}; + auto r7 = zinc::morton::detail::interval<2, 32>{24,25}; + auto r8 = zinc::morton::detail::interval<2, 32>{28,29}; assert(a.intervals[0] == r1); assert(a.intervals[1] == r2); assert(a.intervals[2] == r3); @@ -243,97 +243,97 @@ int main() { } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,1},aether::morton::detail::interval<2, 32>{3,4}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,1},zinc::morton::detail::interval<2, 32>{3,4}} }; - auto b = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,3}} + auto b = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,3}} }; a -= b; assert(a.intervals.size() == 1); - auto r1 = aether::morton::detail::interval<2, 32>{4,4}; + auto r1 = zinc::morton::detail::interval<2, 32>{4,4}; assert(a.intervals[0] == r1); } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,1},aether::morton::detail::interval<2, 32>{3,4}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,1},zinc::morton::detail::interval<2, 32>{3,4}} }; - auto b = aether::morton::region<2, 32>{{}}; + auto b = zinc::morton::region<2, 32>{{}}; a -= b; assert(a.intervals.size() == 2); - auto r1 = aether::morton::detail::interval<2, 32>{0,1}; - auto r2 = aether::morton::detail::interval<2, 32>{3,4}; + auto r1 = zinc::morton::detail::interval<2, 32>{0,1}; + auto r2 = zinc::morton::detail::interval<2, 32>{3,4}; assert(a.intervals[0] == r1); assert(a.intervals[1] == r2); } { - auto a = aether::morton::region<2, 32>{{}}; - auto b = aether::morton::region<2, 32>{{}}; + auto a = zinc::morton::region<2, 32>{{}}; + auto b = zinc::morton::region<2, 32>{{}}; a -= b; assert(a.intervals.size() == 0); } { - auto a = aether::morton::region<2, 32>{ - {aether::morton::detail::interval<2, 32>{0,2},aether::morton::detail::interval<2, 32>{4,6}} + auto a = zinc::morton::region<2, 32>{ + {zinc::morton::detail::interval<2, 32>{0,2},zinc::morton::detail::interval<2, 32>{4,6}} }; - auto b = aether::morton::region<2, 32>{{ + auto b = zinc::morton::region<2, 32>{{ {0,0},{2,4},{6,6} }}; a -= b; assert(a.intervals.size() == 2); - auto r1 = aether::morton::detail::interval<2, 32>{1,1}; - auto r2 = aether::morton::detail::interval<2, 32>{5,5}; + auto r1 = zinc::morton::detail::interval<2, 32>{1,1}; + auto r2 = zinc::morton::detail::interval<2, 32>{5,5}; assert(a.intervals[0] == r1); assert(a.intervals[1] == r2); - b -= aether::morton::region<2, 32>{{aether::morton::detail::interval<2, 32>{0,2},aether::morton::detail::interval<2, 32>{4,6}}}; + b -= zinc::morton::region<2, 32>{{zinc::morton::detail::interval<2, 32>{0,2},zinc::morton::detail::interval<2, 32>{4,6}}}; assert(b.intervals.size() == 1); - r1 = aether::morton::detail::interval<2, 32>{3,3}; + r1 = zinc::morton::detail::interval<2, 32>{3,3}; assert(b.intervals[0] == r1); } { - auto a = aether::morton::region<2, 32>{{ + auto a = zinc::morton::region<2, 32>{{ {0,5} }}; - auto b = aether::morton::region<2, 32>{{ + auto b = zinc::morton::region<2, 32>{{ {1,1},{4,4} }}; a -= b; assert(a.intervals.size() == 3); - auto r1 = aether::morton::detail::interval<2, 32>{0,0}; - auto r2 = aether::morton::detail::interval<2, 32>{2,3}; - auto r3 = aether::morton::detail::interval<2, 32>{5,5}; + auto r1 = zinc::morton::detail::interval<2, 32>{0,0}; + auto r2 = zinc::morton::detail::interval<2, 32>{2,3}; + auto r3 = zinc::morton::detail::interval<2, 32>{5,5}; assert(a.intervals[0] == r1); assert(a.intervals[1] == r2); assert(a.intervals[2] == r3); - b -= aether::morton::region<2, 32>{{ + b -= zinc::morton::region<2, 32>{{ {0,5} }}; assert(b.intervals.size() == 0); } { - auto a = aether::morton::region<2, 32>{{ + auto a = zinc::morton::region<2, 32>{{ {0,2} }}; - auto b = aether::morton::region<2, 32>{{ + auto b = zinc::morton::region<2, 32>{{ {4,6} }}; a -= b; assert(a.intervals.size() == 1); - auto r1 = aether::morton::detail::interval<2, 32>{0,2}; + auto r1 = zinc::morton::detail::interval<2, 32>{0,2}; assert(a.intervals[0] == r1); b -= a; assert(b.intervals.size() == 1); - r1 = aether::morton::detail::interval<2, 32>{4,6}; + r1 = zinc::morton::detail::interval<2, 32>{4,6}; assert(b.intervals[0] == r1); } { - aether::morton::region<2,32> a = {{ + zinc::morton::region<2,32> a = {{ {0,3}, {8,11}, {13,17}, @@ -343,7 +343,7 @@ int main() { {36,40}, {42,51} }}; - aether::morton::region<2,32> b = {{ + zinc::morton::region<2,32> b = {{ {4,7}, {9,12}, {14,15}, @@ -355,7 +355,7 @@ int main() { {48,48}, {50,52}, }}; - aether::morton::region<2,32> r = {{ + zinc::morton::region<2,32> r = {{ {0, 3}, {8, 8}, {13, 13}, @@ -372,7 +372,7 @@ int main() { } { - aether::morton::region<2,32> a = {{ + zinc::morton::region<2,32> a = {{ {0,3}, {8,11}, {13,17}, @@ -382,7 +382,7 @@ int main() { {36,40}, {42,51} }}; - aether::morton::region<2,32> b = {{ + zinc::morton::region<2,32> b = {{ {4,7}, {9,12}, {14,15}, @@ -394,7 +394,7 @@ int main() { {48,48}, {50,52}, }}; - aether::morton::region<2,32> r = {{ + zinc::morton::region<2,32> r = {{ {0, 3}, {8, 8}, {13, 13}, @@ -411,109 +411,109 @@ int main() { } { - auto interval = aether::morton::detail::interval<2, 32>{0,0}; + auto interval = zinc::morton::detail::interval<2, 32>{0,0}; assert(interval.area() == 1); - interval = aether::morton::detail::interval<2, 32>{0,1}; + interval = zinc::morton::detail::interval<2, 32>{0,1}; assert(interval.area() == 2); - interval = aether::morton::detail::interval<2, 32>{1,2}; + interval = zinc::morton::detail::interval<2, 32>{1,2}; assert(interval.area() == 2); } { - auto region = aether::morton::region<2, 32>{{ + auto region = zinc::morton::region<2, 32>{{ {0,0},{2,5} }}; assert(region.area() == 5); - region = aether::morton::region<2, 32>{{}}; + region = zinc::morton::region<2, 32>{{}}; assert(region.area() == 0); } { - assert((aether::morton::detail::interval<2, 32>{1, 0}).start_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{2, 0}).start_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{4, 0}).start_alignment() == 1); - assert((aether::morton::detail::interval<2, 32>{6, 0}).start_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{8, 0}).start_alignment() == 1); - assert((aether::morton::detail::interval<2, 32>{16, 0}).start_alignment() == 2); - assert((aether::morton::detail::interval<2, 32>{0, 1}).end_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{0, 2}).end_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{0, 4}).end_alignment() == 1); - assert((aether::morton::detail::interval<2, 32>{0, 6}).end_alignment() == 0); - assert((aether::morton::detail::interval<2, 32>{0, 8}).end_alignment() == 1); - assert((aether::morton::detail::interval<2, 32>{0, 16}).end_alignment() == 2); + assert((zinc::morton::detail::interval<2, 32>{1, 0}).start_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{2, 0}).start_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{4, 0}).start_alignment() == 1); + assert((zinc::morton::detail::interval<2, 32>{6, 0}).start_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{8, 0}).start_alignment() == 1); + assert((zinc::morton::detail::interval<2, 32>{16, 0}).start_alignment() == 2); + assert((zinc::morton::detail::interval<2, 32>{0, 1}).end_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{0, 2}).end_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{0, 4}).end_alignment() == 1); + assert((zinc::morton::detail::interval<2, 32>{0, 6}).end_alignment() == 0); + assert((zinc::morton::detail::interval<2, 32>{0, 8}).end_alignment() == 1); + assert((zinc::morton::detail::interval<2, 32>{0, 16}).end_alignment() == 2); } { - auto i = aether::morton::get_align_max<2,32>(0,21); + auto i = zinc::morton::get_align_max<2,32>(0,21); assert(i == 15); - i = aether::morton::get_align_max<2,32>(1,21); + i = zinc::morton::get_align_max<2,32>(1,21); assert(i == 1); - i = aether::morton::get_align_max<2,32>(3,21); + i = zinc::morton::get_align_max<2,32>(3,21); assert(i == 3); - i = aether::morton::get_align_max<2,32>(4,21); + i = zinc::morton::get_align_max<2,32>(4,21); assert(i == 7); - i = aether::morton::get_align_max<2,32>(0,64); + i = zinc::morton::get_align_max<2,32>(0,64); assert(i == 63); - i = aether::morton::get_align_max<2,32>(0,0); + i = zinc::morton::get_align_max<2,32>(0,0); assert(i == 0); - i = aether::morton::get_align_max<2,32>(16,21); + i = zinc::morton::get_align_max<2,32>(16,21); assert(i == 19); - i = aether::morton::get_align_max<2,32>(0,3); + i = zinc::morton::get_align_max<2,32>(0,3); assert(i == 3); - i = aether::morton::get_align_max<2,32>(12,31); + i = zinc::morton::get_align_max<2,32>(12,31); assert(i == 15); - i = aether::morton::get_align_max<2,32>(16,63); + i = zinc::morton::get_align_max<2,32>(16,63); assert(i == 31); } { - auto v = aether::morton::detail::interval<2, 32>{0,21}.count_cells(); + auto v = zinc::morton::detail::interval<2, 32>{0,21}.count_cells(); std::vector> i = {{0,2},{1,1},{2,1}}; assert(v == i); - v = aether::morton::detail::interval<2, 32>{0,3}.count_cells(); + v = zinc::morton::detail::interval<2, 32>{0,3}.count_cells(); i = {{1,1}}; assert(v == i); - v = aether::morton::detail::interval<2, 32>{0,63}.count_cells(); + v = zinc::morton::detail::interval<2, 32>{0,63}.count_cells(); i = {{3,1}}; assert(v == i); - v = aether::morton::detail::interval<2, 32>{1,63}.count_cells(); + v = zinc::morton::detail::interval<2, 32>{1,63}.count_cells(); i = {{0,3},{1,3},{2,3}}; assert(v == i); } { - auto region = aether::morton::region<2, 32>{{{0,21}, {23,31}}}; + auto region = zinc::morton::region<2, 32>{{{0,21}, {23,31}}}; std::vector> i = {{0,3},{1,3},{2,1}}; assert(region.count_cells() == i); - region = aether::morton::region<2, 32>{{}}; + region = zinc::morton::region<2, 32>{{}}; i = {}; assert(region.count_cells() == i); - region = aether::morton::region<2, 32>{{{0,21}, {23,31}, {43,63}}}; + region = zinc::morton::region<2, 32>{{{0,21}, {23,31}, {43,63}}}; i = {{0,4},{1,4},{2,2}}; assert(region.count_cells() == i); - auto interval = aether::morton::detail::interval<2, 32>{0,21}; - region = aether::morton::region<2, 32>{{interval}}; + auto interval = zinc::morton::detail::interval<2, 32>{0,21}; + region = zinc::morton::region<2, 32>{{interval}}; assert(region.count_cells() == interval.count_cells()); } { // this tests for UB in bit shifts - aether::morton::AABB<2,32> aabb = {4611686018427387648, 13835058055282164480ULL}; + zinc::morton::AABB<2,32> aabb = {4611686018427387648, 13835058055282164480ULL}; auto region = aabb.to_intervals(); assert(region.intervals.size() == 51); } { - aether::morton::detail::interval<2,32> i = {0,15}; + zinc::morton::detail::interval<2,32> i = {0,15}; auto r = i.to_cells(); - std::vector> t = {i}; + std::vector> t = {i}; assert(r == t); i = {1,15}; t = {{1,1},{2,2},{3,3},{4,7},{8,11},{12,15}}; @@ -522,26 +522,26 @@ int main() { } { - aether::morton::region<2,32> r = {{ + zinc::morton::region<2,32> r = {{ {1,15}, {57,57}, {59,63} }}; auto intervals = r.to_cells(); - std::vector> t = {{1,1},{2,2},{3,3},{4,7},{8,11},{12,15},{57,57},{59,59},{60,63}}; + std::vector> t = {{1,1},{2,2},{3,3},{4,7},{8,11},{12,15},{57,57},{59,59},{60,63}}; assert(intervals == t); } { - aether::morton::region<2,32,uint64_t> a = {{ + zinc::morton::region<2,32,uint64_t> a = {{ {1,4,0}, {17,31,1}, }}; - aether::morton::region<2,32,uint64_t> b = {{ + zinc::morton::region<2,32,uint64_t> b = {{ {3,7,0}, {13,16,1}, }}; - aether::morton::region<2,32,uint64_t> r = {{ + zinc::morton::region<2,32,uint64_t> r = {{ {1,7,0}, {13,31,1}, }}; @@ -551,10 +551,10 @@ int main() { { uint64_t a = 254; - auto a1 = aether::morton::get_parent_morton_aligned<2>(a, 1); - auto a2 = aether::morton::get_parent_morton_aligned<2>(a, 2); - auto a3 = aether::morton::get_parent_morton_aligned<2>(a, 3); - auto a4 = aether::morton::get_parent_morton_aligned<2>(a, 4); + auto a1 = zinc::morton::get_parent_morton_aligned<2>(a, 1); + auto a2 = zinc::morton::get_parent_morton_aligned<2>(a, 2); + auto a3 = zinc::morton::get_parent_morton_aligned<2>(a, 3); + auto a4 = zinc::morton::get_parent_morton_aligned<2>(a, 4); assert(a1 == 252); assert(a2 == 240); assert(a3 == 192); @@ -562,27 +562,27 @@ int main() { } { - assert(aether::morton::get_morton_code<2>(0) == 0); - assert(aether::morton::get_morton_code<2>(1) == 3); - assert(aether::morton::get_morton_code<2>(2) == 15); - assert(aether::morton::get_morton_code<2>(3) == 63); + assert(zinc::morton::get_morton_code<2>(0) == 0); + assert(zinc::morton::get_morton_code<2>(1) == 3); + assert(zinc::morton::get_morton_code<2>(2) == 15); + assert(zinc::morton::get_morton_code<2>(3) == 63); } { - assert((aether::morton::get_max_align_level<2,32>(0)) == 32); - assert((aether::morton::get_max_align_level<2,32>(4)) == 1); - assert((aether::morton::get_max_align_level<2,32>(16)) == 2); - assert((aether::morton::get_max_align_level<2,32>(64)) == 3); - assert((aether::morton::get_max_align_level<2,32>(3)) == 0); + assert((zinc::morton::get_max_align_level<2,32>(0)) == 32); + assert((zinc::morton::get_max_align_level<2,32>(4)) == 1); + assert((zinc::morton::get_max_align_level<2,32>(16)) == 2); + assert((zinc::morton::get_max_align_level<2,32>(64)) == 3); + assert((zinc::morton::get_max_align_level<2,32>(3)) == 0); } { - uint64_t a1 = aether::morton::get_unifying_level<2>(152, 156); - uint64_t a2 = aether::morton::get_unifying_level<2>(152, 153); - uint64_t a3 = aether::morton::get_unifying_level<2>(133, 152); - uint64_t a4 = aether::morton::get_unifying_level<2>(0, 255); - uint64_t a5 = aether::morton::get_unifying_level<2>(127, 128); - uint64_t a6 = aether::morton::get_unifying_level<2>(127, 127); + uint64_t a1 = zinc::morton::get_unifying_level<2>(152, 156); + uint64_t a2 = zinc::morton::get_unifying_level<2>(152, 153); + uint64_t a3 = zinc::morton::get_unifying_level<2>(133, 152); + uint64_t a4 = zinc::morton::get_unifying_level<2>(0, 255); + uint64_t a5 = zinc::morton::get_unifying_level<2>(127, 128); + uint64_t a6 = zinc::morton::get_unifying_level<2>(127, 127); assert(a1 == 2); assert(a2 == 1); assert(a3 == 3);