Index: lib/math/base.dart |
=================================================================== |
--- lib/math/base.dart (revision 0) |
+++ lib/math/base.dart (revision 0) |
@@ -0,0 +1,97 @@ |
+// Copyright (c) 2012, 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. |
+ |
+// A part of the dart:math library. |
+ |
+/** |
+ * Base of the natural logarithms. |
+ */ |
+final double E = 2.718281828459045; |
+ |
+/** |
+ * Natural logarithm of 10. |
+ */ |
+final double LN10 = 2.302585092994046; |
+ |
+/** |
+ * Natural logarithm of 2. |
+ */ |
+final double LN2 = 0.6931471805599453; |
+ |
+/** |
+ * Base-2 logarithm of E. |
+ */ |
+final double LOG2E = 1.4426950408889634; |
+ |
+/** |
+ * Base-10 logarithm of E. |
+ */ |
+final double LOG10E = 0.4342944819032518; |
+ |
+/** |
+ * The PI constant. |
+ */ |
+final double PI = 3.1415926535897932; |
+ |
+/** |
+ * Square root of 1/2. |
+ */ |
+final double SQRT1_2 = 0.7071067811865476; |
+ |
+/** |
+ * Square root of 2. |
+ */ |
+final double SQRT2 = 1.4142135623730951; |
+ |
+/** |
+ * Parses a [String] representation of an [int], and returns |
+ * an [int]. Throws a [BadNumberFormatException] if [str] |
+ * cannot be parsed as an [int]. |
+ */ |
+int parseInt(String str) => MathNatives.parseInt(str); |
+ |
+/** |
+ * Parses a [String] representation of a [double], and returns |
+ * a [double]. Throws a [BadNumberFormatException] if [str] cannot |
+ * be parsed as a [double]. |
+ */ |
+double parseDouble(String str) => MathNatives.parseDouble(str); |
+ |
+num min(num a, num b) { |
+ int c = a.compareTo(b); |
+ if (c == 0) return a; |
+ if (c < 0) { |
+ if ((b is double) && b.isNaN()) return b; |
+ return a; |
+ } |
+ if ((a is double) && a.isNaN()) return a; |
+ return b; |
+} |
+ |
+num max(num a, num b) { |
+ // NaNs are handled correctly since the compareTo function always considers |
+ // them to be bigger than any other operand. |
+ return (a.compareTo(b) < 0) ? b : a; |
+} |
+ |
+/** |
+ * Returns the arc tangent of [a]/[b] with sign according to quadrant. |
+ */ |
+double atan2(num a, num b) => MathNatives.atan2(a, b); |
+ |
+/** |
+ * If the [exponent] is an integer the result is of the same type as [x]. |
+ * Otherwise it is a [double]. |
+ */ |
+num pow(num x, num exponent) => MathNatives.pow(x, exponent); |
+ |
+double sin(num x) => MathNatives.sin(x); |
+double cos(num x) => MathNatives.cos(x); |
+double tan(num x) => MathNatives.tan(x); |
+double acos(num x) => MathNatives.acos(x); |
+double asin(num x) => MathNatives.asin(x); |
+double atan(num x) => MathNatives.atan(x); |
+double sqrt(num x) => MathNatives.sqrt(x); |
+double exp(num x) => MathNatives.exp(x); |
+double log(num x) => MathNatives.log(x); |