Chromium Code Reviews| Index: src/math.js |
| diff --git a/src/math.js b/src/math.js |
| index 385b3c2a221832bbe1d15cc268ed7ae2b6ac74e0..e1a6ae9e4b675a76857f74802a5e3e2fa4c7b45b 100644 |
| --- a/src/math.js |
| +++ b/src/math.js |
| @@ -220,8 +220,9 @@ function SetupTrigonometricFunctions() { |
| var samples = 1800; // Table size. |
| var pi = 3.1415926535897932; |
| var pi_half = pi / 2; |
| - var inverse_pi_half = 1 / pi_half; |
| - var two_pi = pi * 2; |
| + var inverse_pi_half = 2 / pi; |
| + var two_pi = 2 * pi; |
| + var four_pi = 4 * pi; |
| var interval = pi_half / samples; |
| var inverse_interval = samples / pi_half; |
| var table_sin; |
| @@ -252,6 +253,7 @@ function SetupTrigonometricFunctions() { |
| } |
| var MathSinInterpolation = function(x) { |
| + if (x > four_pi) x -= four_pi; |
|
Jakob Kummerow
2013/11/13 16:09:28
I think this needs a comment. Roughly:
// Sunspid
|
| var multiple = MathFloor(x * inverse_pi_half); |
| if (%_IsMinusZero(multiple)) return multiple; |
| x = (multiple & 1) * pi_half + |