tor-browser

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

bigint64-test.js (849B)


      1 const i64 = new BigInt64Array([
      2  0n,
      3  -0x8000_0000_0000_0000n,
      4 
      5  0n,
      6  -0x7fff_ffff_ffff_ffffn,
      7 
      8  0n,
      9  -0x8000_0000n,
     10 
     11  0n,
     12  -0x7fff_ffffn,
     13 
     14  0n,
     15  -1n,
     16 
     17  0n,
     18  1n,
     19 
     20  0n,
     21  0x7fff_ffffn,
     22 
     23  0n,
     24  0x7fff_ffff_ffff_ffffn,
     25 ]);
     26 
     27 const u64 = new BigUint64Array([
     28  0n,
     29  1n,
     30 
     31  0n,
     32  0x7fff_ffffn,
     33 
     34  0n,
     35  0x8000_0000n,
     36 
     37  0n,
     38  0xffff_ffffn,
     39 
     40  0n,
     41  0x1_0000_0000n,
     42 
     43  0n,
     44  0x7fff_ffff_ffff_ffffn,
     45 
     46  0n,
     47  0x8000_0000_0000_0000n,
     48 
     49  0n,
     50  0xffff_ffff_ffff_ffffn,
     51 ]);
     52 
     53 function testI64() {
     54  for (var i = 0; i < 200; ++i) {
     55    var v = i64[i & 15];
     56    if (v) {
     57      assertEq((i & 1), 1);
     58    } else {
     59      assertEq((i & 1), 0);
     60    }
     61  }
     62 }
     63 testI64();
     64 
     65 function testU64() {
     66  for (var i = 0; i < 200; ++i) {
     67    var v = u64[i & 15];
     68    if (v) {
     69      assertEq((i & 1), 1);
     70    } else {
     71      assertEq((i & 1), 0);
     72    }
     73  }
     74 }
     75 testU64();