dart-sdk/runtime/lib/math.dart
lrn@google.com 26fab5183a Move parseInt parseDouble to int/double classes as a static method.
Remove math dependency from core/coreimpl in dart2js.
The existing Math.parseInt and Math.parseDouble are kept *for now*, but
simply redirect to the static methods.
They will be removed in time (when library code is ready for it).

Review URL: https://codereview.chromium.org//10913271

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12417 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-17 07:25:38 +00:00

37 lines
1.7 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.
class MathNatives {
static num pow(num value, num exponent) {
if (exponent is int) {
return value.pow(exponent);
}
// Double.pow will call exponent.toDouble().
return value.toDouble().pow(exponent);
}
static double random() => _random();
static double sqrt(num value) => _sqrt(value.toDouble());
static double sin(num value) => _sin(value.toDouble());
static double cos(num value) => _cos(value.toDouble());
static double tan(num value) => _tan(value.toDouble());
static double acos(num value) => _acos(value.toDouble());
static double asin(num value) => _asin(value.toDouble());
static double atan(num value) => _atan(value.toDouble());
static double atan2(num a, num b) => _atan2(a.toDouble(), b.toDouble());
static double exp(num value) => _exp(value.toDouble());
static double log(num value) => _log(value.toDouble());
static double _random() native "MathNatives_random";
static double _sqrt(double value) native "MathNatives_sqrt";
static double _sin(double value) native "MathNatives_sin";
static double _cos(double value) native "MathNatives_cos";
static double _tan(double value) native "MathNatives_tan";
static double _acos(double value) native "MathNatives_acos";
static double _asin(double value) native "MathNatives_asin";
static double _atan(double value) native "MathNatives_atan";
static double _atan2(double a, double b) native "MathNatives_atan2";
static double _exp(double value) native "MathNatives_exp";
static double _log(double value) native "MathNatives_log";
}