MCPcopy Create free account
hub / github.com/ElementsProject/elements / CheckAdd

Function CheckAdd

src/test/scriptnum_tests.cpp:52–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50
51
52static void CheckAdd(const int64_t& num1, const int64_t& num2)
53{
54 const CScriptNum10 bignum1(num1);
55 const CScriptNum10 bignum2(num2);
56 const CScriptNum scriptnum1(num1);
57 const CScriptNum scriptnum2(num2);
58 CScriptNum10 bignum3(num1);
59 CScriptNum10 bignum4(num1);
60 CScriptNum scriptnum3(num1);
61 CScriptNum scriptnum4(num1);
62
63 // int64_t overflow is undefined.
64 bool invalid = (((num2 > 0) && (num1 > (std::numeric_limits<int64_t>::max() - num2))) ||
65 ((num2 < 0) && (num1 < (std::numeric_limits<int64_t>::min() - num2))));
66 if (!invalid)
67 {
68 BOOST_CHECK(verify(bignum1 + bignum2, scriptnum1 + scriptnum2));
69 BOOST_CHECK(verify(bignum1 + bignum2, scriptnum1 + num2));
70 BOOST_CHECK(verify(bignum1 + bignum2, scriptnum2 + num1));
71 }
72}
73
74static void CheckNegate(const int64_t& num)
75{

Callers 1

RunOperatorsFunction · 0.85

Calls 1

verifyFunction · 0.85

Tested by

no test coverage detected