#pragma once #include "../base/assert.hpp" #include "../base/base.hpp" #include "../base/bits.hpp" #include "point2d.hpp" namespace m2 { inline PointU Uint64ToPointU(int64_t v) { PointU res; bits::BitwiseSplit(v, res.x, res.y); return res; } inline uint64_t PointUToUint64(PointU const & pt) { uint64_t const res = bits::BitwiseMerge(pt.x, pt.y); ASSERT_EQUAL(pt, Uint64ToPointU(res), ()); return res; } } // namespace m2