Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: compiler/lib/implementation/math_natives.js

Issue 9702034: Removes dartc reliance on its own libraries, now can be targeted at any implementation's libraries (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: junit tests fixed Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « compiler/lib/implementation/math_natives.dart ('k') | compiler/lib/implementation/number.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 // Native methods for Math.
6 var native_Math_ceil = Math.ceil;
7 var native_Math_floor = Math.floor;
8 var native_Math_max = Math.max;
9 var native_Math_min = Math.min;
10 var native_Math_round = Math.round;
11
12 // A valid integer-string is composed of:
13 // optional whitespace: \s*
14 // an optional sign: [+-]?
15 // either digits (at least one): \d+
16 // or a hex-literal: 0[xX][0-9abcdefABCDEF]+
17 // optional whitespace: \s*
18 var math$INT_REGEXP =
19 /^\s*[+-]?(:?\d+|0[xX][0-9abcdefABCDEF]+)\s*$/;
20
21 // A valid double-string is composed of:
22 // optional whitespace: \s*
23 // an optional sign: [+-]?
24 // either:
25 // digits* . digits+ exponent?
26 // digits+ exponent
27 // Infinity
28 // NaN
29 // optional whitespace: \s*
30 var math$DOUBLE_REGEXP =
31 /^\s*[+-]?((\d*\.\d+([eE][+-]?\d+)?)|(\d+([eE][+-]?\d+))|Infinity|NaN)\s*$/;
32
33 function native_MathNatives_parseDouble(str) {
34 if (math$INT_REGEXP.test(str) || math$DOUBLE_REGEXP.test(str)) return +str;
35 throw native_MathNatives__newBadNumberFormat(str);
36 }
37
38
39
40 function native_MathNatives_parseInt(str) {
41 if (math$INT_REGEXP.test(str)) return +str;
42 throw native_MathNatives__newBadNumberFormat(str);
43 }
44
45 function native_MathNatives_random() { return Math.random(); }
46 function native_MathNatives_sin(x) { return Math.sin(x); }
47 function native_MathNatives_cos(x) { return Math.cos(x); }
48 function native_MathNatives_tan(x) { return Math.tan(x); }
49 function native_MathNatives_asin(x) { return Math.asin(x); }
50 function native_MathNatives_acos(x) { return Math.acos(x); }
51 function native_MathNatives_atan(x) { return Math.atan(x); }
52 function native_MathNatives_atan2(x, y) { return Math.atan2(x, y); }
53 function native_MathNatives_sqrt(x) { return Math.sqrt(x); }
54 function native_MathNatives_exp(x) { return Math.exp(x); }
55 function native_MathNatives_log(x) { return Math.log(x); }
56 function native_MathNatives_pow(x, y) { return Math.pow(x, y); }
OLDNEW
« no previous file with comments | « compiler/lib/implementation/math_natives.dart ('k') | compiler/lib/implementation/number.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698