// 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. // @dart = 2.9 part of touch; // TODO(jacobr): pick a better name. This was goog.math in Closure. /** * Math utility functions originally from the closure Math library. */ class GoogleMath { /** * Takes a [value] and clamps it to within the bounds specified by * [min] and [max]. */ static num clamp(num value, num min, num max) { return Math.min(Math.max(value, min), max); } /** * Tests whether the two values are equal to each other, within a certain * tolerance to adjust for floating point errors. * The optional [tolerance] value d Defaults to 0.000001. If specified, * it should be greater than 0. * Returns whether [a] and [b] are nearly equal. */ static bool nearlyEquals(num a, num b, [num tolerance = 0.000001]) { return (a - b).abs() <= tolerance; } }