@@ -22,6 +22,7 @@ static inline arith_uint256 arith_uint256V(const std::vector<unsigned char>& vch
22
22
{
23
23
return UintToArith256 (uint256 (vch));
24
24
}
25
+ static inline arith_uint256 arith_uint256S (const std::string& str) { return UintToArith256 (uint256S (str)); }
25
26
26
27
const unsigned char R1Array[] =
27
28
" \x9c\x52\x4a\xdb\xcf\x56\x11\x12\x2b\x29\x12\x5e\x5d\x35\xd2\xd2 "
@@ -95,25 +96,25 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality
95
96
BOOST_CHECK (ZeroL == (OneL << 256 ));
96
97
97
98
// String Constructor and Copy Constructor
98
- BOOST_CHECK (arith_uint256 (" 0x" + R1L.ToString ()) == R1L);
99
- BOOST_CHECK (arith_uint256 (" 0x" + R2L.ToString ()) == R2L);
100
- BOOST_CHECK (arith_uint256 (" 0x" + ZeroL.ToString ()) == ZeroL);
101
- BOOST_CHECK (arith_uint256 (" 0x" + OneL.ToString ()) == OneL);
102
- BOOST_CHECK (arith_uint256 (" 0x" + MaxL.ToString ()) == MaxL);
103
- BOOST_CHECK (arith_uint256 (R1L.ToString ()) == R1L);
104
- BOOST_CHECK (arith_uint256 (" 0x" + R1L.ToString ()+ " " ) == R1L);
105
- BOOST_CHECK (arith_uint256 (" " ) == ZeroL);
106
- BOOST_CHECK (R1L == arith_uint256 (R1ArrayHex));
99
+ BOOST_CHECK (arith_uint256S (" 0x" + R1L.ToString ()) == R1L);
100
+ BOOST_CHECK (arith_uint256S (" 0x" + R2L.ToString ()) == R2L);
101
+ BOOST_CHECK (arith_uint256S (" 0x" + ZeroL.ToString ()) == ZeroL);
102
+ BOOST_CHECK (arith_uint256S (" 0x" + OneL.ToString ()) == OneL);
103
+ BOOST_CHECK (arith_uint256S (" 0x" + MaxL.ToString ()) == MaxL);
104
+ BOOST_CHECK (arith_uint256S (R1L.ToString ()) == R1L);
105
+ BOOST_CHECK (arith_uint256S (" 0x" + R1L.ToString () + " " ) == R1L);
106
+ BOOST_CHECK (arith_uint256S (" " ) == ZeroL);
107
+ BOOST_CHECK (R1L == arith_uint256S (R1ArrayHex));
107
108
BOOST_CHECK (arith_uint256 (R1L) == R1L);
108
109
BOOST_CHECK ((arith_uint256 (R1L^R2L)^R2L) == R1L);
109
110
BOOST_CHECK (arith_uint256 (ZeroL) == ZeroL);
110
111
BOOST_CHECK (arith_uint256 (OneL) == OneL);
111
112
112
113
// uint64_t constructor
113
- BOOST_CHECK ( (R1L & arith_uint256 (" 0xffffffffffffffff" )) == arith_uint256 (R1LLow64));
114
+ BOOST_CHECK ((R1L & arith_uint256S (" 0xffffffffffffffff" )) == arith_uint256 (R1LLow64));
114
115
BOOST_CHECK (ZeroL == arith_uint256 (0 ));
115
116
BOOST_CHECK (OneL == arith_uint256 (1 ));
116
- BOOST_CHECK (arith_uint256 (" 0xffffffffffffffff" ) == arith_uint256 (0xffffffffffffffffULL ));
117
+ BOOST_CHECK (arith_uint256S (" 0xffffffffffffffff" ) == arith_uint256 (0xffffffffffffffffULL ));
117
118
118
119
// Assignment (from base_uint)
119
120
arith_uint256 tmpL = ~ZeroL; BOOST_CHECK (tmpL == ~ZeroL);
@@ -282,7 +283,7 @@ BOOST_AUTO_TEST_CASE( comparison ) // <= >= < >
282
283
BOOST_AUTO_TEST_CASE ( plusMinus )
283
284
{
284
285
arith_uint256 TmpL = 0 ;
285
- BOOST_CHECK (R1L+ R2L == arith_uint256 (R1LplusR2L));
286
+ BOOST_CHECK (R1L + R2L == arith_uint256S (R1LplusR2L));
286
287
TmpL += R1L;
287
288
BOOST_CHECK (TmpL == R1L);
288
289
TmpL += R2L;
@@ -346,8 +347,8 @@ BOOST_AUTO_TEST_CASE( multiply )
346
347
347
348
BOOST_AUTO_TEST_CASE ( divide )
348
349
{
349
- arith_uint256 D1L (" AD7133AC1977FA2B7" );
350
- arith_uint256 D2L (" ECD751716" );
350
+ arith_uint256 D1L{ arith_uint256S (" AD7133AC1977FA2B7" )} ;
351
+ arith_uint256 D2L{ arith_uint256S (" ECD751716" )} ;
351
352
BOOST_CHECK ((R1L / D1L).ToString () == " 00000000000000000b8ac01106981635d9ed112290f8895545a7654dde28fb3a" );
352
353
BOOST_CHECK ((R1L / D2L).ToString () == " 000000000873ce8efec5b67150bad3aa8c5fcb70e947586153bf2cec7c37c57a" );
353
354
BOOST_CHECK (R1L / OneL == R1L);
@@ -368,19 +369,22 @@ static bool almostEqual(double d1, double d2)
368
369
return fabs (d1-d2) <= 4 *fabs (d1)*std::numeric_limits<double >::epsilon ();
369
370
}
370
371
371
- BOOST_AUTO_TEST_CASE ( methods ) // GetHex SetHex size() GetLow64 GetSerializeSize, Serialize, Unserialize
372
+ BOOST_AUTO_TEST_CASE (methods) // GetHex operator= size() GetLow64 GetSerializeSize, Serialize, Unserialize
372
373
{
373
374
BOOST_CHECK (R1L.GetHex () == R1L.ToString ());
374
375
BOOST_CHECK (R2L.GetHex () == R2L.ToString ());
375
376
BOOST_CHECK (OneL.GetHex () == OneL.ToString ());
376
377
BOOST_CHECK (MaxL.GetHex () == MaxL.ToString ());
377
378
arith_uint256 TmpL (R1L);
378
379
BOOST_CHECK (TmpL == R1L);
379
- TmpL.SetHex (R2L.ToString ()); BOOST_CHECK (TmpL == R2L);
380
- TmpL.SetHex (ZeroL.ToString ()); BOOST_CHECK (TmpL == 0 );
381
- TmpL.SetHex (HalfL.ToString ()); BOOST_CHECK (TmpL == HalfL);
380
+ TmpL = R2L;
381
+ BOOST_CHECK (TmpL == R2L);
382
+ TmpL = ZeroL;
383
+ BOOST_CHECK (TmpL == 0 );
384
+ TmpL = HalfL;
385
+ BOOST_CHECK (TmpL == HalfL);
382
386
383
- TmpL. SetHex ( R1L. ToString ()) ;
387
+ TmpL = R1L;
384
388
BOOST_CHECK (R1L.size () == 32 );
385
389
BOOST_CHECK (R2L.size () == 32 );
386
390
BOOST_CHECK (ZeroL.size () == 32 );
0 commit comments