blob: 02cc32f79b47dde8d24104a3e1d44119a23dc5e4 [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.
/// abstract abstract double floorToDouble()
/// Returns the greatest integer value no greater than this.
/// The result is a double.
/// @description Checks that positive values less than one are rounded to zero.
/// @author kaigorodov
import "dart:math" as Math;
import "../../../Utils/expect.dart";
main() {
Expect.equals(0.0, .1.floorToDouble());
Expect.equals(0.0, .01.floorToDouble());
Expect.equals(0.0, 1E-100.floorToDouble());
Expect.equals(0.0, 4.9406564584124654e-324.floorToDouble()); // min subnormal
Expect.equals(0.0, 2.2250738585072014e-308.floorToDouble()); // min normal
Expect.equals(0.0, .5.floorToDouble());
Expect.equals(0.0, .9.floorToDouble());
Expect.equals(0.0, (1.0 - Math.pow(2.0, -53)).floorToDouble()); // max less than 1.0
}