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;
}
var MathSinInterpolation = function(x) {
+ // This is to make Sunspider's result verification happy.
+ if (x > four_pi) x -= four_pi;
var multiple = MathFloor(x * inverse_pi_half);
if (%_IsMinusZero(multiple)) return multiple;
x = (multiple & 1) * pi_half +