tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bigint-add-32.js (1536B)


      1 const tests = [
      2  [-0x7ffffffen, -2n, -0x80000000n],
      3  [-2n, -2n, -4n],
      4  [-1n, -2n, -3n],
      5  [0n, -2n, -2n],
      6  [1n, -2n, -1n],
      7  [2n, -2n, 0n],
      8  [0x7ffffffen, -2n, 0x7ffffffcn],
      9  [0x7fffffffn, -2n, 0x7ffffffdn],
     10  [-0x7fffffffn, -1n, -0x80000000n],
     11  [-0x7ffffffen, -1n, -0x7fffffffn],
     12  [-1n, -1n, -2n],
     13  [0n, -1n, -1n],
     14  [1n, -1n, 0n],
     15  [2n, -1n, 1n],
     16  [0x7ffffffen, -1n, 0x7ffffffdn],
     17  [0x7fffffffn, -1n, 0x7ffffffen],
     18  [-0x80000000n, 0n, -0x80000000n],
     19  [-0x7fffffffn, 0n, -0x7fffffffn],
     20  [-0x7ffffffen, 0n, -0x7ffffffen],
     21  [0n, 0n, 0n],
     22  [1n, 0n, 1n],
     23  [2n, 0n, 2n],
     24  [0x7ffffffen, 0n, 0x7ffffffen],
     25  [0x7fffffffn, 0n, 0x7fffffffn],
     26  [-0x80000000n, 1n, -0x7fffffffn],
     27  [-0x7fffffffn, 1n, -0x7ffffffen],
     28  [-0x7ffffffen, 1n, -0x7ffffffdn],
     29  [1n, 1n, 2n],
     30  [2n, 1n, 3n],
     31  [0x7ffffffen, 1n, 0x7fffffffn],
     32  [-0x80000000n, 2n, -0x7ffffffen],
     33  [-0x7fffffffn, 2n, -0x7ffffffdn],
     34  [-0x7ffffffen, 2n, -0x7ffffffcn],
     35  [2n, 2n, 4n],
     36  [-0x80000000n, 0x7ffffffen, -2n],
     37  [-0x7fffffffn, 0x7ffffffen, -1n],
     38  [-0x7ffffffen, 0x7ffffffen, 0n],
     39  [-0x80000000n, 0x7fffffffn, -1n],
     40  [-0x7fffffffn, 0x7fffffffn, 0n],
     41  [-0x7ffffffen, 0x7fffffffn, 1n],
     42 ];
     43 
     44 function f(tests) {
     45  for (let test of tests) {
     46    let lhs = test[0], rhs = test[1], expected = test[2];
     47    assertEq(BigInt.asIntN(32, lhs), lhs);
     48    assertEq(BigInt.asIntN(32, rhs), rhs);
     49    assertEq(BigInt.asIntN(32, expected), expected);
     50 
     51    assertEq(lhs + rhs, expected);
     52    assertEq(rhs + lhs, expected);
     53  }
     54 }
     55 
     56 for (let i = 0; i < 10; ++i) {
     57  f(tests);
     58 }