| Index: pkg/dev_compiler/tool/input_sdk/lib/math/math.dart
|
| diff --git a/pkg/dev_compiler/tool/input_sdk/lib/math/math.dart b/pkg/dev_compiler/tool/input_sdk/lib/math/math.dart
|
| index 73768c934959018dc33a229df54e2d5c9c391df2..0f651b7c933300de01ec43c3c491e555ad450673 100644
|
| --- a/pkg/dev_compiler/tool/input_sdk/lib/math/math.dart
|
| +++ b/pkg/dev_compiler/tool/input_sdk/lib/math/math.dart
|
| @@ -4,9 +4,9 @@
|
|
|
| /**
|
| * Mathematical constants and functions, plus a random number generator.
|
| - *
|
| + *
|
| * To use this library in your code:
|
| - *
|
| + *
|
| * import 'dart:math';
|
| */
|
| library dart.math;
|
| @@ -67,32 +67,7 @@ const double SQRT2 = 1.4142135623730951;
|
| * same mathematical value) then it is unspecified which of the two arguments
|
| * is returned.
|
| */
|
| -num/*=T*/ min/*<T extends num>*/(num/*=T*/ a, num/*=T*/ b) {
|
| - // These partially redundant type checks improve code quality for dart2js.
|
| - // Most of the improvement is at call sites from the inferred non-null num
|
| - // return type.
|
| - if (a is! num) throw new ArgumentError(a);
|
| - if (b is! num) throw new ArgumentError(b);
|
| -
|
| - if (a > b) return b;
|
| - if (a < b) return a;
|
| - if (b is double) {
|
| - // Special case for NaN and -0.0. If one argument is NaN return NaN.
|
| - // [min] must also distinguish between -0.0 and 0.0.
|
| - if (a is double) {
|
| - if (a == 0.0) {
|
| - // a is either 0.0 or -0.0. b is either 0.0, -0.0 or NaN.
|
| - // The following returns -0.0 if either a or b is -0.0, and it
|
| - // returns NaN if b is NaN.
|
| - return (a + b) * a * b;
|
| - }
|
| - }
|
| - // Check for NaN and b == -0.0.
|
| - if (a == 0 && b.isNegative || b.isNaN) return b;
|
| - return a;
|
| - }
|
| - return a;
|
| -}
|
| +external num/*=T*/ min/*<T extends num>*/(num/*=T*/ a, num/*=T*/ b);
|
|
|
| /**
|
| * Returns the larger of two numbers.
|
| @@ -102,34 +77,7 @@ num/*=T*/ min/*<T extends num>*/(num/*=T*/ a, num/*=T*/ b) {
|
| * otherwise equal (including int and doubles with the same mathematical value)
|
| * then it is unspecified which of the two arguments is returned.
|
| */
|
| -num/*=T*/ max/*<T extends num>*/(num/*=T*/ a, num/*=T*/ b) {
|
| - // These partially redundant type checks improve code quality for dart2js.
|
| - // Most of the improvement is at call sites from the inferred non-null num
|
| - // return type.
|
| - if (a is! num) throw new ArgumentError(a);
|
| - if (b is! num) throw new ArgumentError(b);
|
| -
|
| - if (a > b) return a;
|
| - if (a < b) return b;
|
| - if (b is double) {
|
| - // Special case for NaN and -0.0. If one argument is NaN return NaN.
|
| - // [max] must also distinguish between -0.0 and 0.0.
|
| - if (a is double) {
|
| - if (a == 0.0) {
|
| - // a is either 0.0 or -0.0. b is either 0.0, -0.0, or NaN.
|
| - // The following returns 0.0 if either a or b is 0.0, and it
|
| - // returns NaN if b is NaN.
|
| - return a + b;
|
| - }
|
| - }
|
| - // Check for NaN.
|
| - if (b.isNaN) return b;
|
| - return a;
|
| - }
|
| - // max(-0.0, 0) must return 0.
|
| - if (b == 0 && a.isNegative) return b;
|
| - return a;
|
| -}
|
| +external num/*=T*/ max/*<T extends num>*/(num/*=T*/ a, num/*=T*/ b);
|
|
|
| /**
|
| * A variant of [atan].
|
|
|