This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub Luzhiled/comp-geometry
#include <cassert> #include "../point.hpp" int main() { using intgeometry2d::lattice_point; using intgeometry2d::i32; using LP32 = lattice_point<i32>; assert(LP32(4, 8).x() == 4); assert(LP32(4, 8).y() == 8); assert(LP32(4, 8) == LP32(4, 8)); assert(LP32(4, 8) != LP32(6, 8)); assert(LP32(4, 8) != LP32(4, 12)); assert(LP32(4, 8) != LP32(7, 12)); assert((LP32(4, 8) + LP32(6, 6)) == LP32(10, 14)); assert((LP32(4, 8) - LP32(6, 6)) == LP32(-2, 2)); assert(LP32(4, 8).norm() == 80); }
#line 1 "src/integer-geometry/unit-test/unit-test-point.cpp" #include <cassert> #line 2 "src/integer-geometry/point.hpp" #line 2 "src/integer-geometry/alias.hpp" #include <cstddef> #include <cstdint> namespace intgeometry2d { using isize = std::ptrdiff_t; using usize = std::size_t; using i32 = std::int_fast32_t; using i64 = std::int_fast64_t; using u32 = std::uint_fast32_t; using u64 = std::uint_fast64_t; } // intgeometry2d #line 4 "src/integer-geometry/point.hpp" namespace intgeometry2d { template< typename Z > class lattice_point { Z x_, y_; public: lattice_point() {} lattice_point(Z x_, Z y_) : x_(x_), y_(y_) {} Z x() const { return x_; } Z y() const { return y_; } bool operator==(const lattice_point &p) const { return x_ == p.x_ and y_ == p.y_; } bool operator!=(const lattice_point &p) const { return x_ != p.x_ or y_ != p.y_; } lattice_point operator+(lattice_point p) { return lattice_point(x_ + p.x_, y_ + p.y_); } lattice_point operator-(lattice_point p) { return lattice_point(x_ - p.x_, y_ - p.y_); } Z norm() const { return x_ * x_ + y_ * y_; } }; } // intgeometry2d #line 4 "src/integer-geometry/unit-test/unit-test-point.cpp" int main() { using intgeometry2d::lattice_point; using intgeometry2d::i32; using LP32 = lattice_point<i32>; assert(LP32(4, 8).x() == 4); assert(LP32(4, 8).y() == 8); assert(LP32(4, 8) == LP32(4, 8)); assert(LP32(4, 8) != LP32(6, 8)); assert(LP32(4, 8) != LP32(4, 12)); assert(LP32(4, 8) != LP32(7, 12)); assert((LP32(4, 8) + LP32(6, 6)) == LP32(10, 14)); assert((LP32(4, 8) - LP32(6, 6)) == LP32(-2, 2)); assert(LP32(4, 8).norm() == 80); }