From: ager@chromium.org Date: Mon, 15 Jun 2009 13:18:51 +0000 (+0000) Subject: Modify regression test. X-Git-Tag: upstream/4.7.83~23908 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b898b6dfea15c094fd089a273720708266f7b306;p=platform%2Fupstream%2Fv8.git 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 --- diff --git a/test/mjsunit/sin-cos.js b/test/mjsunit/sin-cos.js index dcee37e27..1c89c70b0 100644 --- a/test/mjsunit/sin-cos.js +++ b/test/mjsunit/sin-cos.js @@ -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));