From b898b6dfea15c094fd089a273720708266f7b306 Mon Sep 17 00:00:00 2001 From: "ager@chromium.org" Date: Mon, 15 Jun 2009 13:18:51 +0000 Subject: [PATCH] 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 --- test/mjsunit/sin-cos.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/mjsunit/sin-cos.js b/test/mjsunit/sin-cos.js index dcee37e..1c89c70 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)); -- 2.7.4