MCPcopy Create free account
hub / github.com/dcleblanc/SafeInt / MultVerifyUint8Uint8

Function MultVerifyUint8Uint8

Test/MultVerify.cpp:1719–1759  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1717};
1718
1719void MultVerifyUint8Uint8()
1720{
1721 size_t i;
1722
1723 for( i = 0; i < COUNTOF(uint8_uint8); ++i )
1724 {
1725 std::uint8_t ret;
1726 if( SafeMultiply(uint8_uint8[i].x, uint8_uint8[i].y, ret) != uint8_uint8[i].fExpected )
1727 {
1728 //assert(false);
1729 // printf("Error in case uint8_uint8: %02X, %02X, expected = %s\n",
1730 // uint8_uint8[i].x, uint8_uint8[i].y, uint8_uint8[i].fExpected ? "true" : "false");
1731 cerr << "Error in case uint8_uint8: ";
1732 cerr << hex << setw(2) << setfill('0') << (unsigned int)uint8_uint8[i].x << ", ";
1733 cerr << hex << setw(2) << setfill('0') << (unsigned int)uint8_uint8[i].y << ", ";
1734 cerr << "expected = " << uint8_uint8[i].fExpected << endl;
1735 }
1736
1737 // Now test throwing version
1738 bool fSuccess = true;
1739 try
1740 {
1741 SafeInt<std::uint8_t> si(uint8_uint8[i].x);
1742 si *= uint8_uint8[i].y;
1743 }
1744 catch(...)
1745 {
1746 fSuccess = false;
1747 }
1748
1749 if( fSuccess != uint8_uint8[i].fExpected )
1750 {
1751 // printf("Error in case uint8_uint8 throw: %02X, %02X, expected = %s\n",
1752 // uint8_uint8[i].x, uint8_uint8[i].y, uint8_uint8[i].fExpected ? "true" : "false");
1753 cerr << "Error in case uint8_uint8 throw: ";
1754 cerr << hex << setw(2) << setfill('0') << (unsigned int)uint8_uint8[i].x << ", ";
1755 cerr << hex << setw(2) << setfill('0') << (unsigned int)uint8_uint8[i].y << ", ";
1756 cerr << "expected = " << uint8_uint8[i].fExpected << endl;
1757 }
1758 }
1759}
1760
1761#if !defined __GNUC__
1762#pragma warning( disable: 4309 )

Callers 1

MultVerifyFunction · 0.70

Calls 1

SafeMultiplyFunction · 0.50

Tested by

no test coverage detected