[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / bitwise-not-no-int32.js
1 function assert(a, e, m) {
2     if (a !== e)
3         throw new Error("Expected to be: " + e + " but got: " + a);
4 }
5
6 function bitNot(a) {
7     return ~a;
8 }
9 noInline(bitNot);
10
11 for (let i = 0; i < 10000; i++) {
12     let r = bitNot("0");
13     assert(r, -1);
14     r = bitNot("1");
15     assert(r, -2);
16     r = bitNot("-1");
17     assert(r, 0);
18     r = bitNot("-2");
19     assert(r, 1);
20
21     r = bitNot({ valueOf: () => 0 });
22     assert(r, -1);
23     r = bitNot({ valueOf: () => 1 });
24     assert(r, -2);
25     r = bitNot({ valueOf: () => -1 });
26     assert(r, 0);
27     r = bitNot({ valueOf: () => -2 });
28     assert(r, 1);
29 }
30