| function assert(v, e) { | |
| if (v !== e) | |
| throw new Error("Expected value: " + e + " but got: " + v) | |
| } | |
| function bigIntOperations(a, b) { | |
| let c = a + b; | |
| return c & 0b111111111n; | |
| } | |
| noInline(bigIntOperations); | |
| for (let i = 0; i < 100000; i++) { | |
| let out = bigIntOperations(0xffffffffffffffffffffffffffffffn, 0x1n); | |
| assert(out, 0n) | |
| } | |
| for (let i = 0; i < 100000; i++) { | |
| let out = bigIntOperations(0b111111n, 0b1n); | |
| assert(out, 0b1000000n) | |
| } | |