blob: 6bf711fceb4af899811dc34ace816224cbe910c1 [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 int round()
* Returns the integer closest to this.
* Rounds away from zero when there is no closest integer:
* (3.5).round() == 4 and (-3.5).round() == -4.
* @description Checks that if the value is already equal to a mathematical
* integer, then the result is the same as the value.
* @author pagolubev
*/
import "dart:math" as Math;
import "../../../Utils/expect.dart";
check(int arg) {
double argd = arg.toDouble();
Expect.equals(arg, argd.round());
Expect.equals(-arg, (-argd).round());
}
main() {
check(1);
check(2);
check(3);
check(4);
check(5);
check(12);
check(123);
check(1234);
check(12345);
check(123456);
check(1234567);
check(123456789012345);
check(1234567.0E10.toInt());
// check(1234567.0E15.toInt());
// check(1234567.0E20.toInt());
// check(1234567.0E40.toInt());
// check(1234567.0E80.toInt());
check(Math.pow(2.0, 52).toInt());
check(Math.pow(2.0, 53).toInt());
// check(Math.pow(2.0, 520).toInt());
// check(1.0E308.toInt());
}