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