js/src/tests/test262/ch11/11.5/11.5.2/S11.5.2_A4_T8.js

branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
equal deleted inserted replaced
-1:000000000000 0:c2fc6d2333d3
1 // Copyright 2009 the Sputnik authors. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
3
4 /**
5 * The result of division is determined by the specification of IEEE 754 arithmetics
6 *
7 * @path ch11/11.5/11.5.2/S11.5.2_A4_T8.js
8 * @description Division of a zero by any non-zero finite value -0 results in zero of appropriate sign
9 */
10
11 //CHECK#1
12 if (-0 / 1 !== -0) {
13 $ERROR('#1.1: -0 / 1 === 0. Actual: ' + (-0 / 1));
14 } else {
15 if (1 / (-0 / 1) !== Number.NEGATIVE_INFINITY) {
16 $ERROR('#1.2: -0 / 1 === - 0. Actual: +0');
17 }
18 }
19
20 //CHECK#2
21 if (-0 / -1 !== +0) {
22 $ERROR('#2.1: -0 / -1 === 0. Actual: ' + (-0 / -1));
23 } else {
24 if (1 / (-0 / -1) !== Number.POSITIVE_INFINITY) {
25 $ERROR('#2.2: -0 / -1 === + 0. Actual: -0');
26 }
27 }
28
29 //CHECK#3
30 if (+0 / 1 !== +0) {
31 $ERROR('#3.1: +0 / 1 === 0. Actual: ' + (+0 / 1));
32 } else {
33 if (1 / (+0 / -1) !== Number.NEGATIVE_INFINITY) {
34 $ERROR('#3.2: +0 / -1 === + 0. Actual: -0');
35 }
36 }
37
38 //CHECK#4
39 if (+0 / -1 !== -0) {
40 $ERROR('#4.1: +0 / -1 === 0. Actual: ' + (+0 / -1));
41 } else {
42 if (1 / (+0 / -1) !== Number.NEGATIVE_INFINITY) {
43 $ERROR('#4.2: +0 / -1 === - 0. Actual: +0');
44 }
45 }
46
47 //CHECK#5
48 if (+0 / -Number.MAX_VALUE !== -0) {
49 $ERROR('#5.1: 0 / -Number.MAX_VALUE === 0. Actual: ' + (0 / -Number.MAX_VALUE));
50 } else {
51 if (1 / (+0 / -Number.MAX_VALUE) !== Number.NEGATIVE_INFINITY) {
52 $ERROR('#5.2: +0 / -Number.MAX_VALUE === - 0. Actual: +0');
53 }
54 }
55
56 //CHECK#6
57 if (-0 / Number.MIN_VALUE !== -0) {
58 $ERROR('#6.1: -0 / Number.MIN_VALUE === 0. Actual: ' + (-0 / Number.MIN_VALUE));
59 } else {
60 if (1 / (-0 / Number.MIN_VALUE) !== Number.NEGATIVE_INFINITY) {
61 $ERROR('#6.2: -0 / Number.MIN_VALUE === - 0. Actual: +0');
62 }
63 }
64

mercurial