summaryrefslogtreecommitdiffhomepage
path: root/src/point.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/point.cpp')
-rw-r--r--src/point.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/point.cpp b/src/point.cpp
index 7b810fca..1c62b2ad 100644
--- a/src/point.cpp
+++ b/src/point.cpp
@@ -38,27 +38,44 @@ Debug& operator<<(Debug& dbg, const point& pt)
namespace {
-constexpr auto chunk_size = iTILE_SIZE2 * TILE_MAX_DIM;
+constexpr auto Ch = iTILE_SIZE2 * TILE_MAX_DIM;
static_assert(point::distance_l2(
point{{ 1, 2, 0}, {3, 4}, {32, 32}},
point{{ 0, 0, 0}, {0, 0}, {32, 32}}
-) == (uint32_t)Math::abs((Vector2i(1, 2)*chunk_size + Vector2i{3, 4} * iTILE_SIZE2 + Vector2i{0, 0}).sum()));
+) == (uint32_t)Math::abs((Vector2i(1, 2)*Ch + Vector2i{3, 4} * iTILE_SIZE2 + Vector2i{0, 0}).sum()));
static_assert(point::distance_l2(
point{{ 0, 0, 0}, {0, 0}, {30, 30}},
point{{ 1, 2, 0}, {3, 4}, {31, 31}}
-) == (uint32_t)Math::abs((Vector2i(1, 2)*chunk_size + Vector2i{3, 4} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
+) == (uint32_t)Math::abs((Vector2i(1, 2)*Ch + Vector2i{3, 4} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
static_assert(point::distance_l2(
point{{ 2, 3, 0}, {4, 5}, {32, 32}},
point{{ 1, 2, 0}, {3, 4}, {31, 31}}
-) == (uint32_t)Math::abs((Vector2i(1, 1)*chunk_size + Vector2i{1, 1} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
+) == (uint32_t)Math::abs((Vector2i(1, 1)*Ch + Vector2i{1, 1} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
static_assert(point::distance_l2(
point{{ 1, 2, 0}, {3, 4}, {31, 31}},
point{{ 2, 3, 0}, {4, 5}, {32, 32}}
-) == (uint32_t)Math::abs((Vector2i(1, 1)*chunk_size + Vector2i{1, 1} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
+) == (uint32_t)Math::abs((Vector2i(1, 1)*Ch + Vector2i{1, 1} * iTILE_SIZE2 + Vector2i{1, 1}).sum()));
+
+namespace krap {
+
+constexpr auto T = iTILE_SIZE2;
+using V2 = Vector2i;
+using P = point;
+
+static_assert(P{{}, {}, {}} - P{{}, {}, {}} == V2{});
+static_assert(P{{}, {}, {}} - P{{}, {1, 0}, {}} == T * V2{-1, 0} );
+static_assert(P{{}, {2, 3}, {}} - P{{}, {4, 6}, {}} == T * V2{-2, -3} );
+static_assert(P{{}, {6, 4}, {}} - P{{}, {2, 3}, {}} == T * V2{4, 1} );
+static_assert(P{{7, 8, 0}, {6, 4}, {}} - P{{}, {2, 3}, {}} == T * V2{4, 1} + Ch * V2{7, 8} );
+static_assert(P{{7, 8, 0}, {6, 4}, {}} - P{{9, -11, 0}, {2, 3}, {}} == T * V2{4, 1} + Ch * V2{-2, 19} );
+static_assert(P{{7, 8, 1}, {6, 4}, {24, 16}} - P{{9, -11, 1}, {2, 3}, {-16, 24}} == T * V2{4, 1} + Ch * V2{-2, 19} + V2{40, -8} );
+
+} // namespace krap
+
} // namespace