Files
sdk/samples-dev/swarm/swarm_ui_lib/touch/Math.dart
T
Leaf Petersen 745f112ef6 Opt out some files from null safety.
Opt an initial batch of files under samples, samples-dev,
utils, and runtime/tools/dartfuzz out of null safety in preparation
for switching the flag on by default.

Change-Id: Icdfd52a5a969e678a7205903332f73fe3841c223
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166960
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2020-10-12 22:15:42 +00:00

33 lines
1.0 KiB
Dart

// 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;
}
}