|
|
|
/*
|
|
|
|
* Bitwise operators (E5 Sections 11.4.8, 11.7.1, 11.7.2, 11.7.3,
|
|
|
|
* 11.10).
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* XXX: add more coercion tests */
|
|
|
|
|
|
|
|
function hex(v) {
|
|
|
|
return v.toString(16);
|
|
|
|
}
|
|
|
|
|
|
|
|
function printHex(v) {
|
|
|
|
print(hex(v));
|
|
|
|
}
|
|
|
|
|
|
|
|
function valWithSideEffect(v) {
|
|
|
|
return {
|
|
|
|
valueOf: function () { print('coerced:', hex(v)); return v; }
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
minimal and-or-xor
|
|
|
|
64
|
|
|
|
192
|
|
|
|
191
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function minimalAndOrXorTest() {
|
|
|
|
print(255 & 64);
|
|
|
|
print(128 | 64);
|
|
|
|
print(255 ^ 64);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('minimal and-or-xor');
|
|
|
|
minimalAndOrXorTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
minimal not
|
|
|
|
-124
|
|
|
|
123
|
|
|
|
-1410065409
|
|
|
|
1410065408
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function minimalNotTest() {
|
|
|
|
print(~123);
|
|
|
|
print(~~123);
|
|
|
|
print(~1e10);
|
|
|
|
print(~~1e10);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('minimal not');
|
|
|
|
minimalNotTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
precedence and-or-xor
|
|
|
|
- XOR binds more strongly than OR
|
|
|
|
5678
|
|
|
|
0
|
|
|
|
5678
|
|
|
|
0
|
|
|
|
- AND binds more strongly than XOR
|
|
|
|
0
|
|
|
|
5678
|
|
|
|
5678
|
|
|
|
0
|
|
|
|
- AND binds more strongly than OR
|
|
|
|
-6dcc0000
|
|
|
|
12340000
|
|
|
|
-6dcc0000
|
|
|
|
12340000
|
|
|
|
- Bitwise NOT bings more strongly than AND
|
|
|
|
-12350000
|
|
|
|
-12340001
|
|
|
|
- Bitwise NOT bings more strongly than XOR
|
|
|
|
1234a987
|
|
|
|
1234a987
|
|
|
|
- Bitwise NOT bings more strongly than OR
|
|
|
|
-5679
|
|
|
|
a986
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function precedenceAndOrXorTest() {
|
|
|
|
print('- XOR binds more strongly than OR');
|
|
|
|
printHex(0x12345678 ^ 0x12340000 | 0x00005678);
|
|
|
|
printHex(0x12345678 ^ (0x12340000 | 0x00005678));
|
|
|
|
printHex(0x00005678 | 0x12345678 ^ 0x12345678);
|
|
|
|
printHex((0x00005678 | 0x12345678) ^ 0x12345678);
|
|
|
|
|
|
|
|
print('- AND binds more strongly than XOR');
|
|
|
|
printHex((0x12345678 ^ 0x12345678) & 0xffff0000);
|
|
|
|
printHex(0x12345678 ^ 0x12345678 & 0xffff0000);
|
|
|
|
printHex(0xffff0000 & 0x12345678 ^ 0x12345678);
|
|
|
|
printHex(0xffff0000 & (0x12345678 ^ 0x12345678));
|
|
|
|
|
|
|
|
print('- AND binds more strongly than OR');
|
|
|
|
printHex(0x12345678 & 0xffff0000 | 0x80000000);
|
|
|
|
printHex(0x12345678 & (0xffff0000 | 0x80000000));
|
|
|
|
printHex(0x80000000 | 0xffff0000 & 0x12345678);
|
|
|
|
printHex((0x80000000 | 0xffff0000) & 0x12345678);
|
|
|
|
|
|
|
|
print('- Bitwise NOT bings more strongly than AND');
|
|
|
|
printHex(~0x12345678 & 0xffff0000);
|
|
|
|
printHex(~(0x12345678 & 0xffff0000));
|
|
|
|
|
|
|
|
print('- Bitwise NOT bings more strongly than XOR');
|
|
|
|
printHex(~0x12345678 ^ 0xffff0000);
|
|
|
|
printHex(~(0x12345678 ^ 0xffff0000));
|
|
|
|
|
|
|
|
print('- Bitwise NOT bings more strongly than OR');
|
|
|
|
printHex(~0x12345678 | 0xffff0000);
|
|
|
|
printHex(~(0x12345679 | 0xffff0000));
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('precedence and-or-xor');
|
|
|
|
precedenceAndOrXorTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
associativity and-or-xor
|
|
|
|
- Bitwise OR
|
|
|
|
coerced: 12345678
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
37777ffb
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
coerced: 12345678
|
|
|
|
37777ffb
|
|
|
|
- Bitwise XOR
|
|
|
|
coerced: 12345678
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
527496b
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
coerced: 12345678
|
|
|
|
527496b
|
|
|
|
- Bitwise AND
|
|
|
|
coerced: 12345678
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
44008
|
|
|
|
coerced: 23456789
|
|
|
|
coerced: 3456789a
|
|
|
|
coerced: 12345678
|
|
|
|
44008
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function associativityAndOrXorTest() {
|
|
|
|
/* Associativity is not always easy to see, e.g. bitwise OR is left
|
|
|
|
* associative but the result would be the same. Using coercion side
|
|
|
|
* effects is not entirely reliable either because implementations
|
|
|
|
* differ in their evaluation order.
|
|
|
|
*
|
|
|
|
* For instance, if evaluating val(A) | (val(B) | val(C)), the coercion
|
|
|
|
* order is different on various engines:
|
|
|
|
*
|
|
|
|
* Duktape 0.12.0: B, C, A
|
|
|
|
* V8: B, C, A
|
|
|
|
* Rhino: A, B, C
|
|
|
|
*
|
|
|
|
* The current code here relies on Duktape evaluation order. This order
|
|
|
|
* may not actually be fully compliant: E5.1 Section 11.10 algorithm
|
|
|
|
* states that left side (val(A)) should be evaluated first.
|
|
|
|
*/
|
|
|
|
|
|
|
|
var val = valWithSideEffect;
|
|
|
|
|
|
|
|
print('- Bitwise OR');
|
|
|
|
printHex(val(0x12345678) | val(0x23456789) | val(0x3456789a));
|
|
|
|
printHex(val(0x12345678) | (val(0x23456789) | val(0x3456789a)));
|
|
|
|
|
|
|
|
print('- Bitwise XOR');
|
|
|
|
printHex(val(0x12345678) ^ val(0x23456789) ^ val(0x3456789a));
|
|
|
|
printHex(val(0x12345678) ^ (val(0x23456789) ^ val(0x3456789a)));
|
|
|
|
|
|
|
|
print('- Bitwise AND');
|
|
|
|
printHex(val(0x12345678) & val(0x23456789) & val(0x3456789a));
|
|
|
|
printHex(val(0x12345678) & (val(0x23456789) & val(0x3456789a)));
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('associativity and-or-xor');
|
|
|
|
associativityAndOrXorTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
target modify not
|
|
|
|
-124
|
|
|
|
123
|
|
|
|
-2
|
|
|
|
1
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function targetModifyNotTest() {
|
|
|
|
/* Ensure that target is not modified (this would happen if expression is
|
|
|
|
* not allocated a real temporary register but operates directly on a register
|
|
|
|
* bound value).
|
|
|
|
*/
|
|
|
|
|
|
|
|
var x = 123;
|
|
|
|
print(~x);
|
|
|
|
print(x);
|
|
|
|
|
|
|
|
var obj = {x:1};
|
|
|
|
print(~obj.x);
|
|
|
|
print(obj.x);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('target modify not');
|
|
|
|
targetModifyNotTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*===
|
|
|
|
matrix and-or-xor-not
|
|
|
|
0 0 -Infinity -Infinity 0 0 0
|
|
|
|
0 1 -Infinity -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
0 2 -Infinity -123456789ab 0 -456789ab -456789ab
|
|
|
|
0 3 -Infinity -ffffffff 0 1 1
|
|
|
|
0 4 -Infinity -80000000 0 -80000000 -80000000
|
|
|
|
0 5 -Infinity -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
0 6 -Infinity -12345678.c 0 -12345678 -12345678
|
|
|
|
0 7 -Infinity -12345678.8 0 -12345678 -12345678
|
|
|
|
0 8 -Infinity -12345678.4 0 -12345678 -12345678
|
|
|
|
0 9 -Infinity -12345678 0 -12345678 -12345678
|
|
|
|
0 10 -Infinity -1 0 -1 -1
|
|
|
|
0 11 -Infinity 0 0 0 0
|
|
|
|
0 12 -Infinity 0 0 0 0
|
|
|
|
0 13 -Infinity 1 0 1 1
|
|
|
|
0 14 -Infinity 12345678 0 12345678 12345678
|
|
|
|
0 15 -Infinity 12345678.4 0 12345678 12345678
|
|
|
|
0 16 -Infinity 12345678.8 0 12345678 12345678
|
|
|
|
0 17 -Infinity 12345678.c 0 12345678 12345678
|
|
|
|
0 18 -Infinity 7fffffff 0 7fffffff 7fffffff
|
|
|
|
0 19 -Infinity 80000000 0 -80000000 -80000000
|
|
|
|
0 20 -Infinity ffffffff 0 -1 -1
|
|
|
|
0 21 -Infinity 123456789ab 0 456789ab 456789ab
|
|
|
|
0 22 -Infinity 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
0 23 -Infinity Infinity 0 0 0
|
|
|
|
0 24 -Infinity NaN 0 0 0
|
|
|
|
1 0 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -Infinity 0 0 0
|
|
|
|
1 1 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
1 2 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -123456789ab 0 -456789ab -456789ab
|
|
|
|
1 3 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -ffffffff 0 1 1
|
|
|
|
1 4 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -80000000 0 -80000000 -80000000
|
|
|
|
1 5 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
1 6 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.c 0 -12345678 -12345678
|
|
|
|
1 7 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.8 0 -12345678 -12345678
|
|
|
|
1 8 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.4 0 -12345678 -12345678
|
|
|
|
1 9 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678 0 -12345678 -12345678
|
|
|
|
1 10 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1 0 -1 -1
|
|
|
|
1 11 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0
|
|
|
|
1 12 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0
|
|
|
|
1 13 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 1 0 1 1
|
|
|
|
1 14 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678 0 12345678 12345678
|
|
|
|
1 15 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.4 0 12345678 12345678
|
|
|
|
1 16 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.8 0 12345678 12345678
|
|
|
|
1 17 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.c 0 12345678 12345678
|
|
|
|
1 18 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 7fffffff 0 7fffffff 7fffffff
|
|
|
|
1 19 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 80000000 0 -80000000 -80000000
|
|
|
|
1 20 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 ffffffff 0 -1 -1
|
|
|
|
1 21 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 123456789ab 0 456789ab 456789ab
|
|
|
|
1 22 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
1 23 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 Infinity 0 0 0
|
|
|
|
1 24 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 NaN 0 0 0
|
|
|
|
2 0 -123456789ab -Infinity 0 -456789ab -456789ab
|
|
|
|
2 1 -123456789ab -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -456789ab -456789ab
|
|
|
|
2 2 -123456789ab -123456789ab -456789ab -456789ab 0
|
|
|
|
2 3 -123456789ab -ffffffff 1 -456789ab -456789ac
|
|
|
|
2 4 -123456789ab -80000000 -80000000 -456789ab 3a987655
|
|
|
|
2 5 -123456789ab -7fffffff -7fffffff -456789ab 3a987654
|
|
|
|
2 6 -123456789ab -12345678.c -5777e000 -240023 5753dfdd
|
|
|
|
2 7 -123456789ab -12345678.8 -5777e000 -240023 5753dfdd
|
|
|
|
2 8 -123456789ab -12345678.4 -5777e000 -240023 5753dfdd
|
|
|
|
2 9 -123456789ab -12345678 -5777e000 -240023 5753dfdd
|
|
|
|
2 10 -123456789ab -1 -456789ab -1 456789aa
|
|
|
|
2 11 -123456789ab 0 0 -456789ab -456789ab
|
|
|
|
2 12 -123456789ab 0 0 -456789ab -456789ab
|
|
|
|
2 13 -123456789ab 1 1 -456789ab -456789ac
|
|
|
|
2 14 -123456789ab 12345678 12105650 -45438983 -5753dfd3
|
|
|
|
2 15 -123456789ab 12345678.4 12105650 -45438983 -5753dfd3
|
|
|
|
2 16 -123456789ab 12345678.8 12105650 -45438983 -5753dfd3
|
|
|
|
2 17 -123456789ab 12345678.c 12105650 -45438983 -5753dfd3
|
|
|
|
2 18 -123456789ab 7fffffff 3a987655 -1 -3a987656
|
|
|
|
2 19 -123456789ab 80000000 -80000000 -456789ab 3a987655
|
|
|
|
2 20 -123456789ab ffffffff -456789ab -1 456789aa
|
|
|
|
2 21 -123456789ab 123456789ab 1 -1 -2
|
|
|
|
2 22 -123456789ab 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -456789ab -456789ab
|
|
|
|
2 23 -123456789ab Infinity 0 -456789ab -456789ab
|
|
|
|
2 24 -123456789ab NaN 0 -456789ab -456789ab
|
|
|
|
3 0 -ffffffff -Infinity 0 1 1
|
|
|
|
3 1 -ffffffff -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 1 1
|
|
|
|
3 2 -ffffffff -123456789ab 1 -456789ab -456789ac
|
|
|
|
3 3 -ffffffff -ffffffff 1 1 0
|
|
|
|
3 4 -ffffffff -80000000 0 -7fffffff -7fffffff
|
|
|
|
3 5 -ffffffff -7fffffff 1 -7fffffff -80000000
|
|
|
|
3 6 -ffffffff -12345678.c 0 -12345677 -12345677
|
|
|
|
3 7 -ffffffff -12345678.8 0 -12345677 -12345677
|
|
|
|
3 8 -ffffffff -12345678.4 0 -12345677 -12345677
|
|
|
|
3 9 -ffffffff -12345678 0 -12345677 -12345677
|
|
|
|
3 10 -ffffffff -1 1 -1 -2
|
|
|
|
3 11 -ffffffff 0 0 1 1
|
|
|
|
3 12 -ffffffff 0 0 1 1
|
|
|
|
3 13 -ffffffff 1 1 1 0
|
|
|
|
3 14 -ffffffff 12345678 0 12345679 12345679
|
|
|
|
3 15 -ffffffff 12345678.4 0 12345679 12345679
|
|
|
|
3 16 -ffffffff 12345678.8 0 12345679 12345679
|
|
|
|
3 17 -ffffffff 12345678.c 0 12345679 12345679
|
|
|
|
3 18 -ffffffff 7fffffff 1 7fffffff 7ffffffe
|
|
|
|
3 19 -ffffffff 80000000 0 -7fffffff -7fffffff
|
|
|
|
3 20 -ffffffff ffffffff 1 -1 -2
|
|
|
|
3 21 -ffffffff 123456789ab 1 456789ab 456789aa
|
|
|
|
3 22 -ffffffff 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 1 1
|
|
|
|
3 23 -ffffffff Infinity 0 1 1
|
|
|
|
3 24 -ffffffff NaN 0 1 1
|
|
|
|
4 0 -80000000 -Infinity 0 -80000000 -80000000
|
|
|
|
4 1 -80000000 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -80000000 -80000000
|
|
|
|
4 2 -80000000 -123456789ab -80000000 -456789ab 3a987655
|
|
|
|
4 3 -80000000 -ffffffff 0 -7fffffff -7fffffff
|
|
|
|
4 4 -80000000 -80000000 -80000000 -80000000 0
|
|
|
|
4 5 -80000000 -7fffffff -80000000 -7fffffff 1
|
|
|
|
4 6 -80000000 -12345678.c -80000000 -12345678 6dcba988
|
|
|
|
4 7 -80000000 -12345678.8 -80000000 -12345678 6dcba988
|
|
|
|
4 8 -80000000 -12345678.4 -80000000 -12345678 6dcba988
|
|
|
|
4 9 -80000000 -12345678 -80000000 -12345678 6dcba988
|
|
|
|
4 10 -80000000 -1 -80000000 -1 7fffffff
|
|
|
|
4 11 -80000000 0 0 -80000000 -80000000
|
|
|
|
4 12 -80000000 0 0 -80000000 -80000000
|
|
|
|
4 13 -80000000 1 0 -7fffffff -7fffffff
|
|
|
|
4 14 -80000000 12345678 0 -6dcba988 -6dcba988
|
|
|
|
4 15 -80000000 12345678.4 0 -6dcba988 -6dcba988
|
|
|
|
4 16 -80000000 12345678.8 0 -6dcba988 -6dcba988
|
|
|
|
4 17 -80000000 12345678.c 0 -6dcba988 -6dcba988
|
|
|
|
4 18 -80000000 7fffffff 0 -1 -1
|
|
|
|
4 19 -80000000 80000000 -80000000 -80000000 0
|
|
|
|
4 20 -80000000 ffffffff -80000000 -1 7fffffff
|
|
|
|
4 21 -80000000 123456789ab 0 -3a987655 -3a987655
|
|
|
|
4 22 -80000000 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -80000000 -80000000
|
|
|
|
4 23 -80000000 Infinity 0 -80000000 -80000000
|
|
|
|
4 24 -80000000 NaN 0 -80000000 -80000000
|
|
|
|
5 0 -7fffffff -Infinity 0 -7fffffff -7fffffff
|
|
|
|
5 1 -7fffffff -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -7fffffff -7fffffff
|
|
|
|
5 2 -7fffffff -123456789ab -7fffffff -456789ab 3a987654
|
|
|
|
5 3 -7fffffff -ffffffff 1 -7fffffff -80000000
|
|
|
|
5 4 -7fffffff -80000000 -80000000 -7fffffff 1
|
|
|
|
5 5 -7fffffff -7fffffff -7fffffff -7fffffff 0
|
|
|
|
5 6 -7fffffff -12345678.c -80000000 -12345677 6dcba989
|
|
|
|
5 7 -7fffffff -12345678.8 -80000000 -12345677 6dcba989
|
|
|
|
5 8 -7fffffff -12345678.4 -80000000 -12345677 6dcba989
|
|
|
|
5 9 -7fffffff -12345678 -80000000 -12345677 6dcba989
|
|
|
|
5 10 -7fffffff -1 -7fffffff -1 7ffffffe
|
|
|
|
5 11 -7fffffff 0 0 -7fffffff -7fffffff
|
|
|
|
5 12 -7fffffff 0 0 -7fffffff -7fffffff
|
|
|
|
5 13 -7fffffff 1 1 -7fffffff -80000000
|
|
|
|
5 14 -7fffffff 12345678 0 -6dcba987 -6dcba987
|
|
|
|
5 15 -7fffffff 12345678.4 0 -6dcba987 -6dcba987
|
|
|
|
5 16 -7fffffff 12345678.8 0 -6dcba987 -6dcba987
|
|
|
|
5 17 -7fffffff 12345678.c 0 -6dcba987 -6dcba987
|
|
|
|
5 18 -7fffffff 7fffffff 1 -1 -2
|
|
|
|
5 19 -7fffffff 80000000 -80000000 -7fffffff 1
|
|
|
|
5 20 -7fffffff ffffffff -7fffffff -1 7ffffffe
|
|
|
|
5 21 -7fffffff 123456789ab 1 -3a987655 -3a987656
|
|
|
|
5 22 -7fffffff 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -7fffffff -7fffffff
|
|
|
|
5 23 -7fffffff Infinity 0 -7fffffff -7fffffff
|
|
|
|
5 24 -7fffffff NaN 0 -7fffffff -7fffffff
|
|
|
|
6 0 -12345678.c -Infinity 0 -12345678 -12345678
|
|
|
|
6 1 -12345678.c -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
6 2 -12345678.c -123456789ab -5777e000 -240023 5753dfdd
|
|
|
|
6 3 -12345678.c -ffffffff 0 -12345677 -12345677
|
|
|
|
6 4 -12345678.c -80000000 -80000000 -12345678 6dcba988
|
|
|
|
6 5 -12345678.c -7fffffff -80000000 -12345677 6dcba989
|
|
|
|
6 6 -12345678.c -12345678.c -12345678 -12345678 0
|
|
|
|
6 7 -12345678.c -12345678.8 -12345678 -12345678 0
|
|
|
|
6 8 -12345678.c -12345678.4 -12345678 -12345678 0
|
|
|
|
6 9 -12345678.c -12345678 -12345678 -12345678 0
|
|
|
|
6 10 -12345678.c -1 -12345678 -1 12345677
|
|
|
|
6 11 -12345678.c 0 0 -12345678 -12345678
|
|
|
|
6 12 -12345678.c 0 0 -12345678 -12345678
|
|
|
|
6 13 -12345678.c 1 0 -12345677 -12345677
|
|
|
|
6 14 -12345678.c 12345678 8 -8 -10
|
|
|
|
6 15 -12345678.c 12345678.4 8 -8 -10
|
|
|
|
6 16 -12345678.c 12345678.8 8 -8 -10
|
|
|
|
6 17 -12345678.c 12345678.c 8 -8 -10
|
|
|
|
6 18 -12345678.c 7fffffff 6dcba988 -1 -6dcba989
|
|
|
|
6 19 -12345678.c 80000000 -80000000 -12345678 6dcba988
|
|
|
|
6 20 -12345678.c ffffffff -12345678 -1 12345677
|
|
|
|
6 21 -12345678.c 123456789ab 45438988 -12105655 -5753dfdd
|
|
|
|
6 22 -12345678.c 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
6 23 -12345678.c Infinity 0 -12345678 -12345678
|
|
|
|
6 24 -12345678.c NaN 0 -12345678 -12345678
|
|
|
|
7 0 -12345678.8 -Infinity 0 -12345678 -12345678
|
|
|
|
7 1 -12345678.8 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
7 2 -12345678.8 -123456789ab -5777e000 -240023 5753dfdd
|
|
|
|
7 3 -12345678.8 -ffffffff 0 -12345677 -12345677
|
|
|
|
7 4 -12345678.8 -80000000 -80000000 -12345678 6dcba988
|
|
|
|
7 5 -12345678.8 -7fffffff -80000000 -12345677 6dcba989
|
|
|
|
7 6 -12345678.8 -12345678.c -12345678 -12345678 0
|
|
|
|
7 7 -12345678.8 -12345678.8 -12345678 -12345678 0
|
|
|
|
7 8 -12345678.8 -12345678.4 -12345678 -12345678 0
|
|
|
|
7 9 -12345678.8 -12345678 -12345678 -12345678 0
|
|
|
|
7 10 -12345678.8 -1 -12345678 -1 12345677
|
|
|
|
7 11 -12345678.8 0 0 -12345678 -12345678
|
|
|
|
7 12 -12345678.8 0 0 -12345678 -12345678
|
|
|
|
7 13 -12345678.8 1 0 -12345677 -12345677
|
|
|
|
7 14 -12345678.8 12345678 8 -8 -10
|
|
|
|
7 15 -12345678.8 12345678.4 8 -8 -10
|
|
|
|
7 16 -12345678.8 12345678.8 8 -8 -10
|
|
|
|
7 17 -12345678.8 12345678.c 8 -8 -10
|
|
|
|
7 18 -12345678.8 7fffffff 6dcba988 -1 -6dcba989
|
|
|
|
7 19 -12345678.8 80000000 -80000000 -12345678 6dcba988
|
|
|
|
7 20 -12345678.8 ffffffff -12345678 -1 12345677
|
|
|
|
7 21 -12345678.8 123456789ab 45438988 -12105655 -5753dfdd
|
|
|
|
7 22 -12345678.8 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
7 23 -12345678.8 Infinity 0 -12345678 -12345678
|
|
|
|
7 24 -12345678.8 NaN 0 -12345678 -12345678
|
|
|
|
8 0 -12345678.4 -Infinity 0 -12345678 -12345678
|
|
|
|
8 1 -12345678.4 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
8 2 -12345678.4 -123456789ab -5777e000 -240023 5753dfdd
|
|
|
|
8 3 -12345678.4 -ffffffff 0 -12345677 -12345677
|
|
|
|
8 4 -12345678.4 -80000000 -80000000 -12345678 6dcba988
|
|
|
|
8 5 -12345678.4 -7fffffff -80000000 -12345677 6dcba989
|
|
|
|
8 6 -12345678.4 -12345678.c -12345678 -12345678 0
|
|
|
|
8 7 -12345678.4 -12345678.8 -12345678 -12345678 0
|
|
|
|
8 8 -12345678.4 -12345678.4 -12345678 -12345678 0
|
|
|
|
8 9 -12345678.4 -12345678 -12345678 -12345678 0
|
|
|
|
8 10 -12345678.4 -1 -12345678 -1 12345677
|
|
|
|
8 11 -12345678.4 0 0 -12345678 -12345678
|
|
|
|
8 12 -12345678.4 0 0 -12345678 -12345678
|
|
|
|
8 13 -12345678.4 1 0 -12345677 -12345677
|
|
|
|
8 14 -12345678.4 12345678 8 -8 -10
|
|
|
|
8 15 -12345678.4 12345678.4 8 -8 -10
|
|
|
|
8 16 -12345678.4 12345678.8 8 -8 -10
|
|
|
|
8 17 -12345678.4 12345678.c 8 -8 -10
|
|
|
|
8 18 -12345678.4 7fffffff 6dcba988 -1 -6dcba989
|
|
|
|
8 19 -12345678.4 80000000 -80000000 -12345678 6dcba988
|
|
|
|
8 20 -12345678.4 ffffffff -12345678 -1 12345677
|
|
|
|
8 21 -12345678.4 123456789ab 45438988 -12105655 -5753dfdd
|
|
|
|
8 22 -12345678.4 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
8 23 -12345678.4 Infinity 0 -12345678 -12345678
|
|
|
|
8 24 -12345678.4 NaN 0 -12345678 -12345678
|
|
|
|
9 0 -12345678 -Infinity 0 -12345678 -12345678
|
|
|
|
9 1 -12345678 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
9 2 -12345678 -123456789ab -5777e000 -240023 5753dfdd
|
|
|
|
9 3 -12345678 -ffffffff 0 -12345677 -12345677
|
|
|
|
9 4 -12345678 -80000000 -80000000 -12345678 6dcba988
|
|
|
|
9 5 -12345678 -7fffffff -80000000 -12345677 6dcba989
|
|
|
|
9 6 -12345678 -12345678.c -12345678 -12345678 0
|
|
|
|
9 7 -12345678 -12345678.8 -12345678 -12345678 0
|
|
|
|
9 8 -12345678 -12345678.4 -12345678 -12345678 0
|
|
|
|
9 9 -12345678 -12345678 -12345678 -12345678 0
|
|
|
|
9 10 -12345678 -1 -12345678 -1 12345677
|
|
|
|
9 11 -12345678 0 0 -12345678 -12345678
|
|
|
|
9 12 -12345678 0 0 -12345678 -12345678
|
|
|
|
9 13 -12345678 1 0 -12345677 -12345677
|
|
|
|
9 14 -12345678 12345678 8 -8 -10
|
|
|
|
9 15 -12345678 12345678.4 8 -8 -10
|
|
|
|
9 16 -12345678 12345678.8 8 -8 -10
|
|
|
|
9 17 -12345678 12345678.c 8 -8 -10
|
|
|
|
9 18 -12345678 7fffffff 6dcba988 -1 -6dcba989
|
|
|
|
9 19 -12345678 80000000 -80000000 -12345678 6dcba988
|
|
|
|
9 20 -12345678 ffffffff -12345678 -1 12345677
|
|
|
|
9 21 -12345678 123456789ab 45438988 -12105655 -5753dfdd
|
|
|
|
9 22 -12345678 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -12345678 -12345678
|
|
|
|
9 23 -12345678 Infinity 0 -12345678 -12345678
|
|
|
|
9 24 -12345678 NaN 0 -12345678 -12345678
|
|
|
|
10 0 -1 -Infinity 0 -1 -1
|
|
|
|
10 1 -1 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -1 -1
|
|
|
|
10 2 -1 -123456789ab -456789ab -1 456789aa
|
|
|
|
10 3 -1 -ffffffff 1 -1 -2
|
|
|
|
10 4 -1 -80000000 -80000000 -1 7fffffff
|
|
|
|
10 5 -1 -7fffffff -7fffffff -1 7ffffffe
|
|
|
|
10 6 -1 -12345678.c -12345678 -1 12345677
|
|
|
|
10 7 -1 -12345678.8 -12345678 -1 12345677
|
|
|
|
10 8 -1 -12345678.4 -12345678 -1 12345677
|
|
|
|
10 9 -1 -12345678 -12345678 -1 12345677
|
|
|
|
10 10 -1 -1 -1 -1 0
|
|
|
|
10 11 -1 0 0 -1 -1
|
|
|
|
10 12 -1 0 0 -1 -1
|
|
|
|
10 13 -1 1 1 -1 -2
|
|
|
|
10 14 -1 12345678 12345678 -1 -12345679
|
|
|
|
10 15 -1 12345678.4 12345678 -1 -12345679
|
|
|
|
10 16 -1 12345678.8 12345678 -1 -12345679
|
|
|
|
10 17 -1 12345678.c 12345678 -1 -12345679
|
|
|
|
10 18 -1 7fffffff 7fffffff -1 -80000000
|
|
|
|
10 19 -1 80000000 -80000000 -1 7fffffff
|
|
|
|
10 20 -1 ffffffff -1 -1 0
|
|
|
|
10 21 -1 123456789ab 456789ab -1 -456789ac
|
|
|
|
10 22 -1 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -1 -1
|
|
|
|
10 23 -1 Infinity 0 -1 -1
|
|
|
|
10 24 -1 NaN 0 -1 -1
|
|
|
|
11 0 0 -Infinity 0 0 0
|
|
|
|
11 1 0 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
11 2 0 -123456789ab 0 -456789ab -456789ab
|
|
|
|
11 3 0 -ffffffff 0 1 1
|
|
|
|
11 4 0 -80000000 0 -80000000 -80000000
|
|
|
|
11 5 0 -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
11 6 0 -12345678.c 0 -12345678 -12345678
|
|
|
|
11 7 0 -12345678.8 0 -12345678 -12345678
|
|
|
|
11 8 0 -12345678.4 0 -12345678 -12345678
|
|
|
|
11 9 0 -12345678 0 -12345678 -12345678
|
|
|
|
11 10 0 -1 0 -1 -1
|
|
|
|
11 11 0 0 0 0 0
|
|
|
|
11 12 0 0 0 0 0
|
|
|
|
11 13 0 1 0 1 1
|
|
|
|
11 14 0 12345678 0 12345678 12345678
|
|
|
|
11 15 0 12345678.4 0 12345678 12345678
|
|
|
|
11 16 0 12345678.8 0 12345678 12345678
|
|
|
|
11 17 0 12345678.c 0 12345678 12345678
|
|
|
|
11 18 0 7fffffff 0 7fffffff 7fffffff
|
|
|
|
11 19 0 80000000 0 -80000000 -80000000
|
|
|
|
11 20 0 ffffffff 0 -1 -1
|
|
|
|
11 21 0 123456789ab 0 456789ab 456789ab
|
|
|
|
11 22 0 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
11 23 0 Infinity 0 0 0
|
|
|
|
11 24 0 NaN 0 0 0
|
|
|
|
12 0 0 -Infinity 0 0 0
|
|
|
|
12 1 0 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
12 2 0 -123456789ab 0 -456789ab -456789ab
|
|
|
|
12 3 0 -ffffffff 0 1 1
|
|
|
|
12 4 0 -80000000 0 -80000000 -80000000
|
|
|
|
12 5 0 -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
12 6 0 -12345678.c 0 -12345678 -12345678
|
|
|
|
12 7 0 -12345678.8 0 -12345678 -12345678
|
|
|
|
12 8 0 -12345678.4 0 -12345678 -12345678
|
|
|
|
12 9 0 -12345678 0 -12345678 -12345678
|
|
|
|
12 10 0 -1 0 -1 -1
|
|
|
|
12 11 0 0 0 0 0
|
|
|
|
12 12 0 0 0 0 0
|
|
|
|
12 13 0 1 0 1 1
|
|
|
|
12 14 0 12345678 0 12345678 12345678
|
|
|
|
12 15 0 12345678.4 0 12345678 12345678
|
|
|
|
12 16 0 12345678.8 0 12345678 12345678
|
|
|
|
12 17 0 12345678.c 0 12345678 12345678
|
|
|
|
12 18 0 7fffffff 0 7fffffff 7fffffff
|
|
|
|
12 19 0 80000000 0 -80000000 -80000000
|
|
|
|
12 20 0 ffffffff 0 -1 -1
|
|
|
|
12 21 0 123456789ab 0 456789ab 456789ab
|
|
|
|
12 22 0 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
12 23 0 Infinity 0 0 0
|
|
|
|
12 24 0 NaN 0 0 0
|
|
|
|
13 0 1 -Infinity 0 1 1
|
|
|
|
13 1 1 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 1 1
|
|
|
|
13 2 1 -123456789ab 1 -456789ab -456789ac
|
|
|
|
13 3 1 -ffffffff 1 1 0
|
|
|
|
13 4 1 -80000000 0 -7fffffff -7fffffff
|
|
|
|
13 5 1 -7fffffff 1 -7fffffff -80000000
|
|
|
|
13 6 1 -12345678.c 0 -12345677 -12345677
|
|
|
|
13 7 1 -12345678.8 0 -12345677 -12345677
|
|
|
|
13 8 1 -12345678.4 0 -12345677 -12345677
|
|
|
|
13 9 1 -12345678 0 -12345677 -12345677
|
|
|
|
13 10 1 -1 1 -1 -2
|
|
|
|
13 11 1 0 0 1 1
|
|
|
|
13 12 1 0 0 1 1
|
|
|
|
13 13 1 1 1 1 0
|
|
|
|
13 14 1 12345678 0 12345679 12345679
|
|
|
|
13 15 1 12345678.4 0 12345679 12345679
|
|
|
|
13 16 1 12345678.8 0 12345679 12345679
|
|
|
|
13 17 1 12345678.c 0 12345679 12345679
|
|
|
|
13 18 1 7fffffff 1 7fffffff 7ffffffe
|
|
|
|
13 19 1 80000000 0 -7fffffff -7fffffff
|
|
|
|
13 20 1 ffffffff 1 -1 -2
|
|
|
|
13 21 1 123456789ab 1 456789ab 456789aa
|
|
|
|
13 22 1 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 1 1
|
|
|
|
13 23 1 Infinity 0 1 1
|
|
|
|
13 24 1 NaN 0 1 1
|
|
|
|
14 0 12345678 -Infinity 0 12345678 12345678
|
|
|
|
14 1 12345678 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
14 2 12345678 -123456789ab 12105650 -45438983 -5753dfd3
|
|
|
|
14 3 12345678 -ffffffff 0 12345679 12345679
|
|
|
|
14 4 12345678 -80000000 0 -6dcba988 -6dcba988
|
|
|
|
14 5 12345678 -7fffffff 0 -6dcba987 -6dcba987
|
|
|
|
14 6 12345678 -12345678.c 8 -8 -10
|
|
|
|
14 7 12345678 -12345678.8 8 -8 -10
|
|
|
|
14 8 12345678 -12345678.4 8 -8 -10
|
|
|
|
14 9 12345678 -12345678 8 -8 -10
|
|
|
|
14 10 12345678 -1 12345678 -1 -12345679
|
|
|
|
14 11 12345678 0 0 12345678 12345678
|
|
|
|
14 12 12345678 0 0 12345678 12345678
|
|
|
|
14 13 12345678 1 0 12345679 12345679
|
|
|
|
14 14 12345678 12345678 12345678 12345678 0
|
|
|
|
14 15 12345678 12345678.4 12345678 12345678 0
|
|
|
|
14 16 12345678 12345678.8 12345678 12345678 0
|
|
|
|
14 17 12345678 12345678.c 12345678 12345678 0
|
|
|
|
14 18 12345678 7fffffff 12345678 7fffffff 6dcba987
|
|
|
|
14 19 12345678 80000000 0 -6dcba988 -6dcba988
|
|
|
|
14 20 12345678 ffffffff 12345678 -1 -12345679
|
|
|
|
14 21 12345678 123456789ab 240028 5777dffb 5753dfd3
|
|
|
|
14 22 12345678 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
14 23 12345678 Infinity 0 12345678 12345678
|
|
|
|
14 24 12345678 NaN 0 12345678 12345678
|
|
|
|
15 0 12345678.4 -Infinity 0 12345678 12345678
|
|
|
|
15 1 12345678.4 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
15 2 12345678.4 -123456789ab 12105650 -45438983 -5753dfd3
|
|
|
|
15 3 12345678.4 -ffffffff 0 12345679 12345679
|
|
|
|
15 4 12345678.4 -80000000 0 -6dcba988 -6dcba988
|
|
|
|
15 5 12345678.4 -7fffffff 0 -6dcba987 -6dcba987
|
|
|
|
15 6 12345678.4 -12345678.c 8 -8 -10
|
|
|
|
15 7 12345678.4 -12345678.8 8 -8 -10
|
|
|
|
15 8 12345678.4 -12345678.4 8 -8 -10
|
|
|
|
15 9 12345678.4 -12345678 8 -8 -10
|
|
|
|
15 10 12345678.4 -1 12345678 -1 -12345679
|
|
|
|
15 11 12345678.4 0 0 12345678 12345678
|
|
|
|
15 12 12345678.4 0 0 12345678 12345678
|
|
|
|
15 13 12345678.4 1 0 12345679 12345679
|
|
|
|
15 14 12345678.4 12345678 12345678 12345678 0
|
|
|
|
15 15 12345678.4 12345678.4 12345678 12345678 0
|
|
|
|
15 16 12345678.4 12345678.8 12345678 12345678 0
|
|
|
|
15 17 12345678.4 12345678.c 12345678 12345678 0
|
|
|
|
15 18 12345678.4 7fffffff 12345678 7fffffff 6dcba987
|
|
|
|
15 19 12345678.4 80000000 0 -6dcba988 -6dcba988
|
|
|
|
15 20 12345678.4 ffffffff 12345678 -1 -12345679
|
|
|
|
15 21 12345678.4 123456789ab 240028 5777dffb 5753dfd3
|
|
|
|
15 22 12345678.4 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
15 23 12345678.4 Infinity 0 12345678 12345678
|
|
|
|
15 24 12345678.4 NaN 0 12345678 12345678
|
|
|
|
16 0 12345678.8 -Infinity 0 12345678 12345678
|
|
|
|
16 1 12345678.8 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
16 2 12345678.8 -123456789ab 12105650 -45438983 -5753dfd3
|
|
|
|
16 3 12345678.8 -ffffffff 0 12345679 12345679
|
|
|
|
16 4 12345678.8 -80000000 0 -6dcba988 -6dcba988
|
|
|
|
16 5 12345678.8 -7fffffff 0 -6dcba987 -6dcba987
|
|
|
|
16 6 12345678.8 -12345678.c 8 -8 -10
|
|
|
|
16 7 12345678.8 -12345678.8 8 -8 -10
|
|
|
|
16 8 12345678.8 -12345678.4 8 -8 -10
|
|
|
|
16 9 12345678.8 -12345678 8 -8 -10
|
|
|
|
16 10 12345678.8 -1 12345678 -1 -12345679
|
|
|
|
16 11 12345678.8 0 0 12345678 12345678
|
|
|
|
16 12 12345678.8 0 0 12345678 12345678
|
|
|
|
16 13 12345678.8 1 0 12345679 12345679
|
|
|
|
16 14 12345678.8 12345678 12345678 12345678 0
|
|
|
|
16 15 12345678.8 12345678.4 12345678 12345678 0
|
|
|
|
16 16 12345678.8 12345678.8 12345678 12345678 0
|
|
|
|
16 17 12345678.8 12345678.c 12345678 12345678 0
|
|
|
|
16 18 12345678.8 7fffffff 12345678 7fffffff 6dcba987
|
|
|
|
16 19 12345678.8 80000000 0 -6dcba988 -6dcba988
|
|
|
|
16 20 12345678.8 ffffffff 12345678 -1 -12345679
|
|
|
|
16 21 12345678.8 123456789ab 240028 5777dffb 5753dfd3
|
|
|
|
16 22 12345678.8 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
16 23 12345678.8 Infinity 0 12345678 12345678
|
|
|
|
16 24 12345678.8 NaN 0 12345678 12345678
|
|
|
|
17 0 12345678.c -Infinity 0 12345678 12345678
|
|
|
|
17 1 12345678.c -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
17 2 12345678.c -123456789ab 12105650 -45438983 -5753dfd3
|
|
|
|
17 3 12345678.c -ffffffff 0 12345679 12345679
|
|
|
|
17 4 12345678.c -80000000 0 -6dcba988 -6dcba988
|
|
|
|
17 5 12345678.c -7fffffff 0 -6dcba987 -6dcba987
|
|
|
|
17 6 12345678.c -12345678.c 8 -8 -10
|
|
|
|
17 7 12345678.c -12345678.8 8 -8 -10
|
|
|
|
17 8 12345678.c -12345678.4 8 -8 -10
|
|
|
|
17 9 12345678.c -12345678 8 -8 -10
|
|
|
|
17 10 12345678.c -1 12345678 -1 -12345679
|
|
|
|
17 11 12345678.c 0 0 12345678 12345678
|
|
|
|
17 12 12345678.c 0 0 12345678 12345678
|
|
|
|
17 13 12345678.c 1 0 12345679 12345679
|
|
|
|
17 14 12345678.c 12345678 12345678 12345678 0
|
|
|
|
17 15 12345678.c 12345678.4 12345678 12345678 0
|
|
|
|
17 16 12345678.c 12345678.8 12345678 12345678 0
|
|
|
|
17 17 12345678.c 12345678.c 12345678 12345678 0
|
|
|
|
17 18 12345678.c 7fffffff 12345678 7fffffff 6dcba987
|
|
|
|
17 19 12345678.c 80000000 0 -6dcba988 -6dcba988
|
|
|
|
17 20 12345678.c ffffffff 12345678 -1 -12345679
|
|
|
|
17 21 12345678.c 123456789ab 240028 5777dffb 5753dfd3
|
|
|
|
17 22 12345678.c 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 12345678 12345678
|
|
|
|
17 23 12345678.c Infinity 0 12345678 12345678
|
|
|
|
17 24 12345678.c NaN 0 12345678 12345678
|
|
|
|
18 0 7fffffff -Infinity 0 7fffffff 7fffffff
|
|
|
|
18 1 7fffffff -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 7fffffff 7fffffff
|
|
|
|
18 2 7fffffff -123456789ab 3a987655 -1 -3a987656
|
|
|
|
18 3 7fffffff -ffffffff 1 7fffffff 7ffffffe
|
|
|
|
18 4 7fffffff -80000000 0 -1 -1
|
|
|
|
18 5 7fffffff -7fffffff 1 -1 -2
|
|
|
|
18 6 7fffffff -12345678.c 6dcba988 -1 -6dcba989
|
|
|
|
18 7 7fffffff -12345678.8 6dcba988 -1 -6dcba989
|
|
|
|
18 8 7fffffff -12345678.4 6dcba988 -1 -6dcba989
|
|
|
|
18 9 7fffffff -12345678 6dcba988 -1 -6dcba989
|
|
|
|
18 10 7fffffff -1 7fffffff -1 -80000000
|
|
|
|
18 11 7fffffff 0 0 7fffffff 7fffffff
|
|
|
|
18 12 7fffffff 0 0 7fffffff 7fffffff
|
|
|
|
18 13 7fffffff 1 1 7fffffff 7ffffffe
|
|
|
|
18 14 7fffffff 12345678 12345678 7fffffff 6dcba987
|
|
|
|
18 15 7fffffff 12345678.4 12345678 7fffffff 6dcba987
|
|
|
|
18 16 7fffffff 12345678.8 12345678 7fffffff 6dcba987
|
|
|
|
18 17 7fffffff 12345678.c 12345678 7fffffff 6dcba987
|
|
|
|
18 18 7fffffff 7fffffff 7fffffff 7fffffff 0
|
|
|
|
18 19 7fffffff 80000000 0 -1 -1
|
|
|
|
18 20 7fffffff ffffffff 7fffffff -1 -80000000
|
|
|
|
18 21 7fffffff 123456789ab 456789ab 7fffffff 3a987654
|
|
|
|
18 22 7fffffff 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 7fffffff 7fffffff
|
|
|
|
18 23 7fffffff Infinity 0 7fffffff 7fffffff
|
|
|
|
18 24 7fffffff NaN 0 7fffffff 7fffffff
|
|
|
|
19 0 80000000 -Infinity 0 -80000000 -80000000
|
|
|
|
19 1 80000000 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -80000000 -80000000
|
|
|
|
19 2 80000000 -123456789ab -80000000 -456789ab 3a987655
|
|
|
|
19 3 80000000 -ffffffff 0 -7fffffff -7fffffff
|
|
|
|
19 4 80000000 -80000000 -80000000 -80000000 0
|
|
|
|
19 5 80000000 -7fffffff -80000000 -7fffffff 1
|
|
|
|
19 6 80000000 -12345678.c -80000000 -12345678 6dcba988
|
|
|
|
19 7 80000000 -12345678.8 -80000000 -12345678 6dcba988
|
|
|
|
19 8 80000000 -12345678.4 -80000000 -12345678 6dcba988
|
|
|
|
19 9 80000000 -12345678 -80000000 -12345678 6dcba988
|
|
|
|
19 10 80000000 -1 -80000000 -1 7fffffff
|
|
|
|
19 11 80000000 0 0 -80000000 -80000000
|
|
|
|
19 12 80000000 0 0 -80000000 -80000000
|
|
|
|
19 13 80000000 1 0 -7fffffff -7fffffff
|
|
|
|
19 14 80000000 12345678 0 -6dcba988 -6dcba988
|
|
|
|
19 15 80000000 12345678.4 0 -6dcba988 -6dcba988
|
|
|
|
19 16 80000000 12345678.8 0 -6dcba988 -6dcba988
|
|
|
|
19 17 80000000 12345678.c 0 -6dcba988 -6dcba988
|
|
|
|
19 18 80000000 7fffffff 0 -1 -1
|
|
|
|
19 19 80000000 80000000 -80000000 -80000000 0
|
|
|
|
19 20 80000000 ffffffff -80000000 -1 7fffffff
|
|
|
|
19 21 80000000 123456789ab 0 -3a987655 -3a987655
|
|
|
|
19 22 80000000 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -80000000 -80000000
|
|
|
|
19 23 80000000 Infinity 0 -80000000 -80000000
|
|
|
|
19 24 80000000 NaN 0 -80000000 -80000000
|
|
|
|
20 0 ffffffff -Infinity 0 -1 -1
|
|
|
|
20 1 ffffffff -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -1 -1
|
|
|
|
20 2 ffffffff -123456789ab -456789ab -1 456789aa
|
|
|
|
20 3 ffffffff -ffffffff 1 -1 -2
|
|
|
|
20 4 ffffffff -80000000 -80000000 -1 7fffffff
|
|
|
|
20 5 ffffffff -7fffffff -7fffffff -1 7ffffffe
|
|
|
|
20 6 ffffffff -12345678.c -12345678 -1 12345677
|
|
|
|
20 7 ffffffff -12345678.8 -12345678 -1 12345677
|
|
|
|
20 8 ffffffff -12345678.4 -12345678 -1 12345677
|
|
|
|
20 9 ffffffff -12345678 -12345678 -1 12345677
|
|
|
|
20 10 ffffffff -1 -1 -1 0
|
|
|
|
20 11 ffffffff 0 0 -1 -1
|
|
|
|
20 12 ffffffff 0 0 -1 -1
|
|
|
|
20 13 ffffffff 1 1 -1 -2
|
|
|
|
20 14 ffffffff 12345678 12345678 -1 -12345679
|
|
|
|
20 15 ffffffff 12345678.4 12345678 -1 -12345679
|
|
|
|
20 16 ffffffff 12345678.8 12345678 -1 -12345679
|
|
|
|
20 17 ffffffff 12345678.c 12345678 -1 -12345679
|
|
|
|
20 18 ffffffff 7fffffff 7fffffff -1 -80000000
|
|
|
|
20 19 ffffffff 80000000 -80000000 -1 7fffffff
|
|
|
|
20 20 ffffffff ffffffff -1 -1 0
|
|
|
|
20 21 ffffffff 123456789ab 456789ab -1 -456789ac
|
|
|
|
20 22 ffffffff 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 -1 -1
|
|
|
|
20 23 ffffffff Infinity 0 -1 -1
|
|
|
|
20 24 ffffffff NaN 0 -1 -1
|
|
|
|
21 0 123456789ab -Infinity 0 456789ab 456789ab
|
|
|
|
21 1 123456789ab -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 456789ab 456789ab
|
|
|
|
21 2 123456789ab -123456789ab 1 -1 -2
|
|
|
|
21 3 123456789ab -ffffffff 1 456789ab 456789aa
|
|
|
|
21 4 123456789ab -80000000 0 -3a987655 -3a987655
|
|
|
|
21 5 123456789ab -7fffffff 1 -3a987655 -3a987656
|
|
|
|
21 6 123456789ab -12345678.c 45438988 -12105655 -5753dfdd
|
|
|
|
21 7 123456789ab -12345678.8 45438988 -12105655 -5753dfdd
|
|
|
|
21 8 123456789ab -12345678.4 45438988 -12105655 -5753dfdd
|
|
|
|
21 9 123456789ab -12345678 45438988 -12105655 -5753dfdd
|
|
|
|
21 10 123456789ab -1 456789ab -1 -456789ac
|
|
|
|
21 11 123456789ab 0 0 456789ab 456789ab
|
|
|
|
21 12 123456789ab 0 0 456789ab 456789ab
|
|
|
|
21 13 123456789ab 1 1 456789ab 456789aa
|
|
|
|
21 14 123456789ab 12345678 240028 5777dffb 5753dfd3
|
|
|
|
21 15 123456789ab 12345678.4 240028 5777dffb 5753dfd3
|
|
|
|
21 16 123456789ab 12345678.8 240028 5777dffb 5753dfd3
|
|
|
|
21 17 123456789ab 12345678.c 240028 5777dffb 5753dfd3
|
|
|
|
21 18 123456789ab 7fffffff 456789ab 7fffffff 3a987654
|
|
|
|
21 19 123456789ab 80000000 0 -3a987655 -3a987655
|
|
|
|
21 20 123456789ab ffffffff 456789ab -1 -456789ac
|
|
|
|
21 21 123456789ab 123456789ab 456789ab 456789ab 0
|
|
|
|
21 22 123456789ab 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 456789ab 456789ab
|
|
|
|
21 23 123456789ab Infinity 0 456789ab 456789ab
|
|
|
|
21 24 123456789ab NaN 0 456789ab 456789ab
|
|
|
|
22 0 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -Infinity 0 0 0
|
|
|
|
22 1 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
22 2 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -123456789ab 0 -456789ab -456789ab
|
|
|
|
22 3 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -ffffffff 0 1 1
|
|
|
|
22 4 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -80000000 0 -80000000 -80000000
|
|
|
|
22 5 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
22 6 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.c 0 -12345678 -12345678
|
|
|
|
22 7 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.8 0 -12345678 -12345678
|
|
|
|
22 8 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678.4 0 -12345678 -12345678
|
|
|
|
22 9 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -12345678 0 -12345678 -12345678
|
|
|
|
22 10 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1 0 -1 -1
|
|
|
|
22 11 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0
|
|
|
|
22 12 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0
|
|
|
|
22 13 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 1 0 1 1
|
|
|
|
22 14 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678 0 12345678 12345678
|
|
|
|
22 15 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.4 0 12345678 12345678
|
|
|
|
22 16 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.8 0 12345678 12345678
|
|
|
|
22 17 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 12345678.c 0 12345678 12345678
|
|
|
|
22 18 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 7fffffff 0 7fffffff 7fffffff
|
|
|
|
22 19 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 80000000 0 -80000000 -80000000
|
|
|
|
22 20 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 ffffffff 0 -1 -1
|
|
|
|
22 21 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 123456789ab 0 456789ab 456789ab
|
|
|
|
22 22 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
22 23 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 Infinity 0 0 0
|
|
|
|
22 24 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 NaN 0 0 0
|
|
|
|
23 0 Infinity -Infinity 0 0 0
|
|
|
|
23 1 Infinity -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
23 2 Infinity -123456789ab 0 -456789ab -456789ab
|
|
|
|
23 3 Infinity -ffffffff 0 1 1
|
|
|
|
23 4 Infinity -80000000 0 -80000000 -80000000
|
|
|
|
23 5 Infinity -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
23 6 Infinity -12345678.c 0 -12345678 -12345678
|
|
|
|
23 7 Infinity -12345678.8 0 -12345678 -12345678
|
|
|
|
23 8 Infinity -12345678.4 0 -12345678 -12345678
|
|
|
|
23 9 Infinity -12345678 0 -12345678 -12345678
|
|
|
|
23 10 Infinity -1 0 -1 -1
|
|
|
|
23 11 Infinity 0 0 0 0
|
|
|
|
23 12 Infinity 0 0 0 0
|
|
|
|
23 13 Infinity 1 0 1 1
|
|
|
|
23 14 Infinity 12345678 0 12345678 12345678
|
|
|
|
23 15 Infinity 12345678.4 0 12345678 12345678
|
|
|
|
23 16 Infinity 12345678.8 0 12345678 12345678
|
|
|
|
23 17 Infinity 12345678.c 0 12345678 12345678
|
|
|
|
23 18 Infinity 7fffffff 0 7fffffff 7fffffff
|
|
|
|
23 19 Infinity 80000000 0 -80000000 -80000000
|
|
|
|
23 20 Infinity ffffffff 0 -1 -1
|
|
|
|
23 21 Infinity 123456789ab 0 456789ab 456789ab
|
|
|
|
23 22 Infinity 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
23 23 Infinity Infinity 0 0 0
|
|
|
|
23 24 Infinity NaN 0 0 0
|
|
|
|
24 0 NaN -Infinity 0 0 0
|
|
|
|
24 1 NaN -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
24 2 NaN -123456789ab 0 -456789ab -456789ab
|
|
|
|
24 3 NaN -ffffffff 0 1 1
|
|
|
|
24 4 NaN -80000000 0 -80000000 -80000000
|
|
|
|
24 5 NaN -7fffffff 0 -7fffffff -7fffffff
|
|
|
|
24 6 NaN -12345678.c 0 -12345678 -12345678
|
|
|
|
24 7 NaN -12345678.8 0 -12345678 -12345678
|
|
|
|
24 8 NaN -12345678.4 0 -12345678 -12345678
|
|
|
|
24 9 NaN -12345678 0 -12345678 -12345678
|
|
|
|
24 10 NaN -1 0 -1 -1
|
|
|
|
24 11 NaN 0 0 0 0
|
|
|
|
24 12 NaN 0 0 0 0
|
|
|
|
24 13 NaN 1 0 1 1
|
|
|
|
24 14 NaN 12345678 0 12345678 12345678
|
|
|
|
24 15 NaN 12345678.4 0 12345678 12345678
|
|
|
|
24 16 NaN 12345678.8 0 12345678 12345678
|
|
|
|
24 17 NaN 12345678.c 0 12345678 12345678
|
|
|
|
24 18 NaN 7fffffff 0 7fffffff 7fffffff
|
|
|
|
24 19 NaN 80000000 0 -80000000 -80000000
|
|
|
|
24 20 NaN ffffffff 0 -1 -1
|
|
|
|
24 21 NaN 123456789ab 0 456789ab 456789ab
|
|
|
|
24 22 NaN 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 0 0 0
|
|
|
|
24 23 NaN Infinity 0 0 0
|
|
|
|
24 24 NaN NaN 0 0 0
|
|
|
|
0 -Infinity -1
|
|
|
|
1 -1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1
|
|
|
|
2 -123456789ab 456789aa
|
|
|
|
3 -ffffffff -2
|
|
|
|
4 -80000000 7fffffff
|
|
|
|
5 -7fffffff 7ffffffe
|
|
|
|
6 -12345678.c 12345677
|
|
|
|
7 -12345678.8 12345677
|
|
|
|
8 -12345678.4 12345677
|
|
|
|
9 -12345678 12345677
|
|
|
|
10 -1 0
|
|
|
|
11 0 -1
|
|
|
|
12 0 -1
|
|
|
|
13 1 -2
|
|
|
|
14 12345678 -12345679
|
|
|
|
15 12345678.4 -12345679
|
|
|
|
16 12345678.8 -12345679
|
|
|
|
17 12345678.c -12345679
|
|
|
|
18 7fffffff -80000000
|
|
|
|
19 80000000 7fffffff
|
|
|
|
20 ffffffff 0
|
|
|
|
21 123456789ab -456789ac
|
|
|
|
22 1249ad2594c37d0000000000000000000000000000000000000000000000000000000000000000000000 -1
|
|
|
|
23 Infinity -1
|
|
|
|
24 NaN -1
|
|
|
|
===*/
|
|
|
|
|
|
|
|
function matrixAndOrXorNotTest() {
|
|
|
|
var vals = [
|
|
|
|
Number.NEGATIVE_INFINITY,
|
|
|
|
-1e100,
|
|
|
|
-0x123456789ab,
|
|
|
|
-0xffffffff, -0x80000000, -0x7fffffff,
|
|
|
|
-0x12345678 - 0.75, -0x12345678 - 0.50, -0x12345678 - 0.25, -0x12345678,
|
|
|
|
-1, -0, +0, +1,
|
|
|
|
0x12345678, 0x12345678 + 0.25, 0x12345678 + 0.50, 0x12345678 + 0.75,
|
|
|
|
0x7fffffff, 0x80000000, 0xffffffff,
|
|
|
|
0x123456789ab,
|
|
|
|
1e100,
|
|
|
|
Number.POSITIVE_INFINITY,
|
|
|
|
Number.NaN
|
|
|
|
];
|
|
|
|
var i, j;
|
|
|
|
|
|
|
|
for (i = 0; i < vals.length; i++) {
|
|
|
|
for (j = 0; j < vals.length; j++) {
|
|
|
|
print(i, j, hex(vals[i]), hex(vals[j]),
|
|
|
|
hex(vals[i] & vals[j]),
|
|
|
|
hex(vals[i] | vals[j]),
|
|
|
|
hex(vals[i] ^ vals[j]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < vals.length; i++) {
|
|
|
|
print(i, hex(vals[i]), hex(~vals[i]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
print('matrix and-or-xor-not');
|
|
|
|
matrixAndOrXorNotTest();
|
|
|
|
} catch (e) {
|
|
|
|
print(e.stack || e);
|
|
|
|
}
|