#include #include "mp.hpp" template static void PrintInt(const char* name, const T& val) { std::cout << name << " = " << mp::ToHexString(val) << std::endl; } int main() { // mp::Int a{0xDEADBEEFDEADF154, 0x0123456789ABCDEF, 0x1111222233334444}; mp::Int<4> a{0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF}; mp::Int<5> b{0x55}; PrintInt("a", a); PrintInt("b", b); auto c = a + b; PrintInt("c", c); a += mp::Int<1>{1}; PrintInt("a", a); a -= mp::Int<1>{1}; PrintInt("a", a); std::cout << mp::Int<16>::LAST_ELEM_MASK << std::endl; }