MCPcopy Create free account
hub / github.com/Kitware/VTK / TestRound

Function TestRound

Common/Core/Testing/Cxx/UnitTestMath.cxx:253–333  ·  view source on GitHub ↗

Validate with http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer

Source from the content-addressed store, hash-verified

251
252// Validate with http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer
253int TestRound()
254{
255 int status = 0;
256 std::cout << "Round..";
257 int result;
258 {
259 std::vector<float> values;
260 std::vector<int> expecteds;
261
262 values.push_back(23.67f);
263 expecteds.push_back(24);
264 values.push_back(23.50f);
265 expecteds.push_back(24);
266 values.push_back(23.35f);
267 expecteds.push_back(23);
268 values.push_back(23.00f);
269 expecteds.push_back(23);
270 values.push_back(0.00f);
271 expecteds.push_back(0);
272 values.push_back(-23.00f);
273 expecteds.push_back(-23);
274 values.push_back(-23.35f);
275 expecteds.push_back(-23);
276 values.push_back(-23.50f);
277 expecteds.push_back(-24);
278 values.push_back(-23.67f);
279 expecteds.push_back(-24);
280 for (size_t i = 0; i < values.size(); ++i)
281 {
282 result = vtkMath::Round(values[i]);
283 if (result != expecteds[i])
284 {
285 std::cout << " Float Round(" << values[i] << ") got " << result << " but expected "
286 << expecteds[i];
287 ++status;
288 }
289 }
290 }
291 {
292 std::vector<double> values;
293 std::vector<int> expecteds;
294
295 values.push_back(23.67);
296 expecteds.push_back(24);
297 values.push_back(23.50);
298 expecteds.push_back(24);
299 values.push_back(23.35);
300 expecteds.push_back(23);
301 values.push_back(23.00);
302 expecteds.push_back(23);
303 values.push_back(0.00);
304 expecteds.push_back(0);
305 values.push_back(-23.00);
306 expecteds.push_back(-23);
307 values.push_back(-23.35);
308 expecteds.push_back(-23);
309 values.push_back(-23.50);
310 expecteds.push_back(-24);

Callers 1

UnitTestMathFunction · 0.85

Calls 3

RoundFunction · 0.85
push_backMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected