blob: 1efb2fe4d77f95904f1035a466c160ca3ccdc4eb [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion abstract double roundToDouble()
/// Returns the integer value, as a double, closest to this.
/// Rounds away from zero when there is no closest integer:
/// (3.5).round() == 4 and (-3.5).round() == -4.
/// @description Checks the method on a bunch of values.
/// @author pagolubev
import "../../../Utils/expect.dart";
check(double arg, double expected) {
Expect.equals(expected, arg.roundToDouble());
Expect.equals(-expected, (-arg).roundToDouble());
}
main() {
check(0.1, .0);
// min subnormal
check(4.9406564584124654e-324, .0);
// min normal
check(2.2250738585072014e-308, .0);
// max normal
check(1.7976931348623157e308, 1.7976931348623157e308);
// adjacent doubles
check(.4999999999999999, .0);
check(.49999999999999994, .0);
check(.5, 1.0);
check(.5000000000000001, 1.0);
check(0.9999999999999999, 1.0);
check(1.0, 1.0);
check(1.0000000000000002, 1.0);
}