| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 function Module(stdlib, foreign, heap) { | 5 function Module(stdlib, foreign, heap) { |
| 6 "use asm"; | 6 "use asm"; |
| 7 function f1(i) { | 7 function f1(i) { |
| 8 i = +i; | 8 i = +i; |
| 9 return +(i * -1); | 9 return +(i * -1); |
| 10 } | 10 } |
| 11 function f2(i) { | 11 function f2(i) { |
| 12 i = +i; | 12 i = +i; |
| 13 return +(-1 * i); | 13 return +(-1 * i); |
| 14 } | 14 } |
| 15 function f3(i) { | 15 return { f1: f1, f2: f2 }; |
| 16 i = +i; | |
| 17 return +(-i); | |
| 18 } | |
| 19 return { f1: f1, f2: f2, f3: f3 }; | |
| 20 } | 16 } |
| 21 | 17 |
| 22 var m = Module(this, {}, new ArrayBuffer(64 * 1024)); | 18 var m = Module(this, {}, new ArrayBuffer(64 * 1024)); |
| 23 | 19 |
| 24 assertEquals(NaN, m.f1(NaN)); | 20 assertEquals(NaN, m.f1(NaN)); |
| 25 assertEquals(NaN, m.f2(NaN)); | 21 assertEquals(NaN, m.f2(NaN)); |
| 26 assertEquals(NaN, m.f3(NaN)); | |
| 27 assertEquals(Infinity, 1 / m.f1(-0)); | 22 assertEquals(Infinity, 1 / m.f1(-0)); |
| 28 assertEquals(Infinity, 1 / m.f2(-0)); | 23 assertEquals(Infinity, 1 / m.f2(-0)); |
| 29 assertEquals(Infinity, 1 / m.f3(-0)); | |
| 30 assertEquals(Infinity, m.f1(-Infinity)); | 24 assertEquals(Infinity, m.f1(-Infinity)); |
| 31 assertEquals(Infinity, m.f2(-Infinity)); | 25 assertEquals(Infinity, m.f2(-Infinity)); |
| 32 assertEquals(Infinity, m.f3(-Infinity)); | |
| 33 assertEquals(-Infinity, 1 / m.f1(0)); | 26 assertEquals(-Infinity, 1 / m.f1(0)); |
| 34 assertEquals(-Infinity, 1 / m.f2(0)); | 27 assertEquals(-Infinity, 1 / m.f2(0)); |
| 35 assertEquals(-Infinity, 1 / m.f3(0)); | |
| 36 assertEquals(-Infinity, m.f1(Infinity)); | 28 assertEquals(-Infinity, m.f1(Infinity)); |
| 37 assertEquals(-Infinity, m.f2(Infinity)); | 29 assertEquals(-Infinity, m.f2(Infinity)); |
| 38 assertEquals(-Infinity, m.f3(Infinity)); | |
| 39 for (var i = -2147483648; i < 2147483648; i += 3999777) { | 30 for (var i = -2147483648; i < 2147483648; i += 3999777) { |
| 40 assertEquals(-i, m.f1(i)); | 31 assertEquals(-i, m.f1(i)); |
| 41 assertEquals(-i, m.f2(i)); | 32 assertEquals(-i, m.f2(i)); |
| 42 assertEquals(-i, m.f3(i)); | |
| 43 } | 33 } |
| OLD | NEW |