Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/lib/math_patch.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart b/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart |
| index 3bccb2cf51356966a4dd8df3a3f2a96520199f63..dbac0f2401e986d08438563d5b4b48a380c79b45 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart |
| @@ -5,35 +5,56 @@ |
| // Patch file for dart:math library. |
| import 'dart:_foreign_helper' show JS; |
| -patch double sqrt(num x) |
| - => JS('double', r'Math.sqrt(#)', checkNum(x)); |
| +patch double sqrt(num x) { |
|
ngeoffray
2013/04/10 12:06:39
Why do you need to change these?
erikcorry
2013/04/10 12:52:32
In this form the checkNum disappears completely wh
ngeoffray
2013/04/10 13:02:58
Do you know why not in the other form?
erikcorry
2013/04/11 09:09:35
Actually with the current version of the inlining
|
| + checkNum(x); |
| + return JS('double', r'Math.sqrt(#)', x); |
| +} |
| -patch double sin(num x) |
| - => JS('double', r'Math.sin(#)', checkNum(x)); |
| +patch double sin(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.sin(#)', x); |
| +} |
| -patch double cos(num x) |
| - => JS('double', r'Math.cos(#)', checkNum(x)); |
| +patch double cos(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.cos(#)', x); |
| +} |
| -patch double tan(num x) |
| - => JS('double', r'Math.tan(#)', checkNum(x)); |
| +patch double tan(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.tan(#)', x); |
| +} |
| -patch double acos(num x) |
| - => JS('double', r'Math.acos(#)', checkNum(x)); |
| +patch double acos(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.acos(#)', x); |
| +} |
| -patch double asin(num x) |
| - => JS('double', r'Math.asin(#)', checkNum(x)); |
| +patch double asin(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.asin(#)', x); |
| +} |
| -patch double atan(num x) |
| - => JS('double', r'Math.atan(#)', checkNum(x)); |
| +patch double atan(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.atan(#)', x); |
| +} |
| -patch double atan2(num a, num b) |
| - => JS('double', r'Math.atan2(#, #)', checkNum(a), checkNum(b)); |
| +patch double atan2(num a, num b) { |
| + checkNum(a); |
| + checkNum(b); |
| + return JS('double', r'Math.atan2(#, #)', a, b); |
| +} |
| -patch double exp(num x) |
| - => JS('double', r'Math.exp(#)', checkNum(x)); |
| +patch double exp(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.exp(#)', x); |
| +} |
| -patch double log(num x) |
| - => JS('double', r'Math.log(#)', checkNum(x)); |
| +patch double log(num x) { |
| + checkNum(x); |
| + return JS('double', r'Math.log(#)', x); |
| +} |
| patch num pow(num x, num exponent) { |
| checkNum(x); |