20 #include <ripple/basics/base_uint.h>
21 #include <ripple/basics/Blob.h>
22 #include <ripple/basics/hardened_hash.h>
23 #include <ripple/beast/unit_test.h>
24 #include <boost/algorithm/string.hpp>
34 template <std::
size_t Bits>
67 Blob raw { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
72 BEAST_EXPECT(raw.size() == u.size());
73 BEAST_EXPECT(
to_string(u) ==
"0102030405060708090A0B0C");
74 BEAST_EXPECT(*u.data() == 1);
75 BEAST_EXPECT(u.signum() == 1);
77 BEAST_EXPECT(!u.isZero());
78 BEAST_EXPECT(u.isNonZero());
82 BEAST_EXPECT(d == ++t);
95 BEAST_EXPECT(
to_string(v) ==
"FEFDFCFBFAF9F8F7F6F5F4F3");
96 BEAST_EXPECT(*v.data() == 0xfe);
97 BEAST_EXPECT(v.signum() == 1);
99 BEAST_EXPECT(!v.isZero());
100 BEAST_EXPECT(v.isNonZero());
104 BEAST_EXPECT(d == --t);
107 BEAST_EXPECT(
compare(u, v) < 0);
108 BEAST_EXPECT(
compare(v, u) > 0);
111 BEAST_EXPECT(v == u);
115 BEAST_EXPECT(
to_string(z) ==
"000000000000000000000000");
116 BEAST_EXPECT(*z.data() == 0);
117 BEAST_EXPECT(*z.begin() == 0);
118 BEAST_EXPECT(*
std::prev(z.end(), 1) == 0);
119 BEAST_EXPECT(z.signum() == 0);
121 BEAST_EXPECT(z.isZero());
122 BEAST_EXPECT(!z.isNonZero());
125 BEAST_EXPECT(d == 0);
130 BEAST_EXPECT(n ==
test96(1));
132 BEAST_EXPECT(n == beast::zero);
133 BEAST_EXPECT(n == z);
135 BEAST_EXPECT(
to_string(n) ==
"FFFFFFFFFFFFFFFFFFFFFFFF");
137 BEAST_EXPECT(n == z);
147 BEAST_EXPECT(uset.
size() == 4);
152 BEAST_EXPECT(fromHex == u);
167 BEAST_EXPECT(fromHex == u);
172 BEAST_EXPECT(fromHex == u);
177 BEAST_EXPECT(fromHex == u);
181 BEAST_EXPECT(! fromHex.
SetHex(
182 boost::algorithm::replace_all_copy(
to_string(u),
"0",
"Z")));
186 BEAST_EXPECT(fromHex == u);
196 BEAST_EXPECT(fromHex == u);
200 BEAST_EXPECT(fromHex == u);