[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / comparison-ignore-negative-zero.js
1 function shouldBe(actual, expected) {
2     if (actual !== expected)
3         throw new Error('bad value: ' + String(actual) + ' ' + String(expected));
4 }
5 noInline(shouldBe);
6
7 function zero()
8 {
9     return 0;
10 }
11 noInline(zero);
12
13 function negativeZero()
14 {
15     return -0;
16 }
17 noInline(negativeZero);
18
19 var object = {
20     valueOf()
21     {
22         return -0;
23     }
24 };
25
26 function test()
27 {
28     shouldBe(0 < zero(), false);
29     shouldBe(0 < (-zero()), false);
30     shouldBe(0 <= zero(), true);
31     shouldBe(0 <= (-zero()), true);
32     shouldBe(0 > zero(), false);
33     shouldBe(0 > (-zero()), false);
34     shouldBe(0 >= zero(), true);
35     shouldBe(0 >= (-zero()), true);
36     shouldBe(0 == zero(), true);
37     shouldBe(0 == (-zero()), true);
38     shouldBe(0 === zero(), true);
39     shouldBe(0 === (-zero()), true);
40     shouldBe(0 != zero(), false);
41     shouldBe(0 != (-zero()), false);
42     shouldBe(0 !== zero(), false);
43     shouldBe(0 !== (-zero()), false);
44
45     shouldBe(0 < object, false);
46     shouldBe(0 < -object, false);
47     shouldBe(0 <= object, true);
48     shouldBe(0 <= -object, true);
49     shouldBe(0 > object, false);
50     shouldBe(0 > -object, false);
51     shouldBe(0 >= object, true);
52     shouldBe(0 >= -object, true);
53     shouldBe(0 == object, true);
54     shouldBe(0 == -object, true);
55     shouldBe(0 === object, false);
56     shouldBe(0 === -object, true);
57     shouldBe(0 != object, false);
58     shouldBe(0 != -object, false);
59     shouldBe(0 !== object, true);
60     shouldBe(0 !== -object, false);
61 }
62 noInline(test);
63
64 for (var i = 0; i < 1e5; ++i)
65     test();