Files
sdk/runtime/lib/math.dart
T
2012-03-13 19:30:10 +00:00

41 lines
2.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.
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 int parseInt(String str) => _parseInt(str);
static double parseDouble(String str) => _parseDouble(str);
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_2atan";
static double _exp(double value) native "MathNatives_exp";
static double _log(double value) native "MathNatives_log";
static int _parseInt(String str) native "MathNatives_parseInt";
static double _parseDouble(String str) native "MathNatives_parseDouble";
}