MCPcopy Create free account
hub / github.com/bitcoinxt/bitcoinxt / CheckSubtract

Function CheckSubtract

src/test/scriptnum_tests.cpp:82–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

RunOperatorsFunction · 0.85

Calls 1

verifyFunction · 0.85

Tested by

no test coverage detected