Commit b898b6df authored by ager@chromium.org's avatar ager@chromium.org

Modify regression test.

Because of varying floating-point precision, the slow case is hard to
test with explicit values.  Instead, we check that sine and cosine do
not return the same value (the regression was that the slow case of
cosine accidentally did sine instead of cosine).

Review URL: http://codereview.chromium.org/126123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 7f273146
......@@ -27,8 +27,8 @@
// Test Math.sin and Math.cos.
var input_sin = [0, Math.PI, Math.PI / 6, Math.PI / 2, Math.pow(2, 70)];
var input_cos = [0, Math.PI, Math.PI / 6, Math.PI / 2, Math.pow(2, 70)];
var input_sin = [0, Math.PI, Math.PI / 6, Math.PI / 2];
var input_cos = [0, Math.PI, Math.PI / 6, Math.PI / 2];
var output_sin = input_sin.map(Math.sin);
var output_cos = input_sin.map(Math.cos);
......@@ -36,14 +36,17 @@ var output_cos = input_sin.map(Math.cos);
var expected_sin = [0,
1.2246063538223773e-16,
0.49999999999999994,
1,
-0.9983193022079332];
1];
var expected_cos = [1,
-1,
0.8660254037844387,
6.123031769111886e-17,
0.05795317798935058];
6.123031769111886e-17];
assertArrayEquals(expected_sin, output_sin, "sine");
assertArrayEquals(expected_cos, output_cos, "cosine");
// By accident, the slow case for sine and cosine were both sine at
// some point. This is a regression test for that issue.
var x = Math.pow(2, 70);
assertTrue(Math.sin(x) != Math.cos(x));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment