Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: test/mjsunit/compiler/math-sign.js

Issue 2294143004: [turbofan] Fix Math.sign. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/simplified-lowering.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Flags: --allow-natives-syntax
6
7 function signInt32(i) {
8 i = i|0;
9 return Math.sign(i);
10 }
11
12 signInt32(0);
13 signInt32(2);
14 %OptimizeFunctionOnNextCall(signInt32);
15 assertEquals(1, signInt32(1));
16 assertEquals(0, signInt32(0));
17 assertEquals(-1, signInt32(-1));
18 assertEquals(-1, signInt32(-1));
19 assertEquals(1, signInt32(2147483647));
20 assertEquals(-1, signInt32(2147483648));
21 assertEquals(-1, signInt32(-2147483648));
22 assertEquals(0, signInt32(NaN));
23 assertEquals(0, signInt32(undefined));
24 assertEquals(0, signInt32(-0));
25
26 function signFloat64(i) {
27 return Math.sign(+i);
28 }
29
30 signFloat64(0.1);
31 signFloat64(-0.1);
32 %OptimizeFunctionOnNextCall(signFloat64);
33 assertEquals(1, signFloat64(1));
34 assertEquals(1, signFloat64(0.001));
35 assertEquals(-1, signFloat64(-0.002));
36 assertEquals(1, signFloat64(1e100));
37 assertEquals(-1, signFloat64(-2e100));
38 assertEquals(0, signFloat64(0));
39 assertEquals(Infinity, 1/signFloat64(0));
40 assertEquals(-1, signFloat64(-1));
41 assertEquals(-1, signFloat64(-1));
42 assertEquals(1, signFloat64(2147483647));
43 assertEquals(1, signFloat64(2147483648));
44 assertEquals(-1, signFloat64(-2147483647));
45 assertEquals(-1, signFloat64(-2147483648));
46 assertEquals(-1, signFloat64(-2147483649));
47 assertEquals(-0, signFloat64(-0));
48 assertEquals(NaN, signFloat64(NaN));
49 assertEquals(NaN, signFloat64(undefined));
50 assertEquals(1, signFloat64(Infinity));
51 assertEquals(-1, signFloat64(-Infinity));
OLDNEW
« no previous file with comments | « src/compiler/simplified-lowering.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698