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

Function MultVerifyUint64Uint64

Test/MultVerify.cpp:155–195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153};
154
155void MultVerifyUint64Uint64()
156{
157 size_t i;
158
159 for( i = 0; i < COUNTOF(uint64_uint64); ++i )
160 {
161 std::uint64_t ret;
162 if( SafeMultiply(uint64_uint64[i].x, uint64_uint64[i].y, ret) != uint64_uint64[i].fExpected )
163 {
164 //assert(false);
165 // printf("Error in case uint64_uint64: %I64X, %I64X, expected = %s\n",
166 // uint64_uint64[i].x, uint64_uint64[i].y, uint64_uint64[i].fExpected ? "true" : "false");
167 cerr << "Error in case uint64_uint64: ";
168 cerr << hex << setw(16) << setfill('0') << uint64_uint64[i].x << ", ";
169 cerr << hex << setw(16) << setfill('0') << uint64_uint64[i].y << ", ";
170 cerr << "expected = " << uint64_uint64[i].fExpected << endl;
171 }
172
173 // Now test throwing version
174 bool fSuccess = true;
175 try
176 {
177 SafeInt<std::uint64_t> si(uint64_uint64[i].x);
178 si *= uint64_uint64[i].y;
179 }
180 catch(...)
181 {
182 fSuccess = false;
183 }
184
185 if( fSuccess != uint64_uint64[i].fExpected )
186 {
187 // printf("Error in case uint64_uint64 throw: %I64X, %I64X, expected = %s\n",
188 // uint64_uint64[i].x, uint64_uint64[i].y, uint64_uint64[i].fExpected ? "true" : "false");
189 cerr << "Error in case uint64_uint64 throw: ";
190 cerr << hex << setw(16) << setfill('0') << uint64_uint64[i].x << ", ";
191 cerr << hex << setw(16) << setfill('0') << uint64_uint64[i].y << ", ";
192 cerr << "expected = " << uint64_uint64[i].fExpected << endl;
193 }
194 }
195}
196
197static const MultTest< std::uint64_t, std::uint32_t > uint64_uint32[] =
198{

Callers 1

MultVerifyFunction · 0.70

Calls 1

SafeMultiplyFunction · 0.50

Tested by

no test coverage detected