blob: a138d03d76748811556507203c99eb385e7c15c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/**
* Compute result modulo 2^32
*
* @path ch09/9.5/S9.5_A2.2_T2.js
* @description Use operator ~
*/
// CHECK#1
if (~-2147483647 !== 2147483646) {
$ERROR('#1: ~-2147483647 === 2147483646)');
}
// CHECK#2
if (~-2147483648 !== ~-2147483648) {
$ERROR('#2: ~-2147483648 ==== ~-2147483648)');
}
// CHECK#3
if (~-2147483649 !== ~2147483647) {
$ERROR('#3: ~-2147483649 ==== ~2147483647)');
}
// CHECK#4
if ((~4294967295 << 0) !== ~-1) {
$ERROR('#4: (~4294967295 << 0) === ~-1)');
}
// CHECK#5
if ((~4294967296 << 0) !== ~0) {
$ERROR('#5: (~4294967296 << 0) === ~0)');
}
// CHECK#6
if ((~4294967297 << 0) !== ~1) {
$ERROR('#6: (~4294967297 << 0) === ~1)');
}
// CHECK#7
if ((~-4294967295 << 0) !== ~1) {
$ERROR('#7: (~-4294967295 << 0) === ~1)');
}
// CHECK#8
if ((~-4294967296 << 0) !== ~0) {
$ERROR('#8: (~-4294967296 << 0) === ~0)');
}
// CHECK#9
if ((~-4294967297 << 0) !== ~-1) {
$ERROR('#9: (~-4294967297 << 0) === ~-1)');
}
// CHECK#10
if ((~8589934591 << 0) !== ~-1) {
$ERROR('#10: (~8589934591 << 0) === ~-1)');
}
// CHECK#11
if ((~8589934592 << 0) !== ~0) {
$ERROR('#11: (~8589934592 << 0) === ~0)');
}
// CHECK#12
if ((~8589934593 << 0) !== ~1) {
$ERROR('#12: (~8589934593 << 0) === ~1)');
}
|