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 + |