int main (void) { float f1 = 0x1.0p+0; float f2 = 0x1.8p-24; // Test with constant folding roundingTest(f1,f2); // Test with bitwise model float f3 = nondet_value(); float f4 = nondet_value(); assume((0x1.fffffep-1f < f3) && (f3 < 0x1.000002p+0f)); assume((0x1.7ffffep-24f < f4) && (f4 < 0x1.800002p-24f)); roundingTest(f3,f4); return 0; }
/** * Test proper rounding by the format method. */ static void TestRounding487(void) { UNumberFormat *nnf; UErrorCode status = U_ZERO_ERROR; /* this is supposed to open default date format, but later on it treats it like it is "en_US" - very bad if you try to run the tests on machine where default locale is NOT "en_US" */ /* nnf = unum_open(UNUM_DEFAULT, NULL, &status); */ nnf = unum_open(UNUM_DEFAULT, NULL,0,"en_US",NULL, &status); if(U_FAILURE(status)){ log_data_err("FAIL: failure in the construction of number format: %s (Are you missing data?)\n", myErrorName(status)); } else { roundingTest(nnf, 0.00159999, 4, "0.0016"); roundingTest(nnf, 0.00995, 4, "0.01"); roundingTest(nnf, 12.3995, 3, "12.4"); roundingTest(nnf, 12.4999, 0, "12"); roundingTest(nnf, - 19.5, 0, "-20"); } unum_close(nnf); }