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

Function CheckSubtract

src/test/scriptnum_tests.cpp:84–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84static void CheckSubtract(const int64_t& num1, const int64_t& num2)
85{
86 const CScriptNum10 bignum1(num1);
87 const CScriptNum10 bignum2(num2);
88 const CScriptNum scriptnum1(num1);
89 const CScriptNum scriptnum2(num2);
90
91 // int64_t overflow is undefined.
92 bool invalid = ((num2 > 0 && num1 < std::numeric_limits<int64_t>::min() + num2) ||
93 (num2 < 0 && num1 > std::numeric_limits<int64_t>::max() + num2));
94 if (!invalid)
95 {
96 BOOST_CHECK(verify(bignum1 - bignum2, scriptnum1 - scriptnum2));
97 BOOST_CHECK(verify(bignum1 - bignum2, scriptnum1 - num2));
98 }
99
100 invalid = ((num1 > 0 && num2 < std::numeric_limits<int64_t>::min() + num1) ||
101 (num1 < 0 && num2 > std::numeric_limits<int64_t>::max() + num1));
102 if (!invalid)
103 {
104 BOOST_CHECK(verify(bignum2 - bignum1, scriptnum2 - scriptnum1));
105 BOOST_CHECK(verify(bignum2 - bignum1, scriptnum2 - num1));
106 }
107}
108
109static void CheckCompare(const int64_t& num1, const int64_t& num2)
110{

Callers 1

RunOperatorsFunction · 0.85

Calls 1

verifyFunction · 0.85

Tested by

no test coverage detected