tor-browser

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

bigint-arithmetic.js (29487B)


      1 // Copyright (C) 2017 Robin Templeton. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-multiplicative-operators-runtime-semantics-evaluation
      5 description: BigInt division arithmetic
      6 features: [BigInt]
      7 ---*/
      8 assert.sameValue(
      9  0xFEDCBA9876543210n / 0xFEDCBA9876543210n,
     10  0x1n,
     11  'The result of (0xFEDCBA9876543210n / 0xFEDCBA9876543210n) is 0x1n'
     12 );
     13 
     14 assert.sameValue(
     15  0xFEDCBA9876543210n / 0xFEDCBA987654320Fn,
     16  0x1n,
     17  'The result of (0xFEDCBA9876543210n / 0xFEDCBA987654320Fn) is 0x1n'
     18 );
     19 
     20 assert.sameValue(
     21  0xFEDCBA9876543210n / 0xFEDCBA98n,
     22  0x100000000n,
     23  'The result of (0xFEDCBA9876543210n / 0xFEDCBA98n) is 0x100000000n'
     24 );
     25 
     26 assert.sameValue(
     27  0xFEDCBA9876543210n / 0xFEDCBA97n,
     28  0x100000001n,
     29  'The result of (0xFEDCBA9876543210n / 0xFEDCBA97n) is 0x100000001n'
     30 );
     31 
     32 assert.sameValue(
     33  0xFEDCBA9876543210n / 0x1234n,
     34  0xE0042813BE5DCn,
     35  'The result of (0xFEDCBA9876543210n / 0x1234n) is 0xE0042813BE5DCn'
     36 );
     37 
     38 assert.sameValue(
     39  0xFEDCBA9876543210n / 0x3n,
     40  0x54F43E32D21C10B0n,
     41  'The result of (0xFEDCBA9876543210n / 0x3n) is 0x54F43E32D21C10B0n'
     42 );
     43 
     44 assert.sameValue(
     45  0xFEDCBA9876543210n / 0x2n,
     46  0x7F6E5D4C3B2A1908n,
     47  'The result of (0xFEDCBA9876543210n / 0x2n) is 0x7F6E5D4C3B2A1908n'
     48 );
     49 
     50 assert.sameValue(
     51  0xFEDCBA9876543210n / 0x1n,
     52  0xFEDCBA9876543210n,
     53  'The result of (0xFEDCBA9876543210n / 0x1n) is 0xFEDCBA9876543210n'
     54 );
     55 
     56 assert.sameValue(
     57  0xFEDCBA9876543210n / -0x1n,
     58  -0xFEDCBA9876543210n,
     59  'The result of (0xFEDCBA9876543210n / -0x1n) is -0xFEDCBA9876543210n'
     60 );
     61 
     62 assert.sameValue(
     63  0xFEDCBA9876543210n / -0x2n,
     64  -0x7F6E5D4C3B2A1908n,
     65  'The result of (0xFEDCBA9876543210n / -0x2n) is -0x7F6E5D4C3B2A1908n'
     66 );
     67 
     68 assert.sameValue(
     69  0xFEDCBA9876543210n / -0x3n,
     70  -0x54F43E32D21C10B0n,
     71  'The result of (0xFEDCBA9876543210n / -0x3n) is -0x54F43E32D21C10B0n'
     72 );
     73 
     74 assert.sameValue(
     75  0xFEDCBA9876543210n / -0x1234n,
     76  -0xE0042813BE5DCn,
     77  'The result of (0xFEDCBA9876543210n / -0x1234n) is -0xE0042813BE5DCn'
     78 );
     79 
     80 assert.sameValue(
     81  0xFEDCBA9876543210n / -0xFEDCBA97n,
     82  -0x100000001n,
     83  'The result of (0xFEDCBA9876543210n / -0xFEDCBA97n) is -0x100000001n'
     84 );
     85 
     86 assert.sameValue(
     87  0xFEDCBA9876543210n / -0xFEDCBA98n,
     88  -0x100000000n,
     89  'The result of (0xFEDCBA9876543210n / -0xFEDCBA98n) is -0x100000000n'
     90 );
     91 
     92 assert.sameValue(
     93  0xFEDCBA9876543210n / -0xFEDCBA987654320Fn,
     94  -0x1n,
     95  'The result of (0xFEDCBA9876543210n / -0xFEDCBA987654320Fn) is -0x1n'
     96 );
     97 
     98 assert.sameValue(
     99  0xFEDCBA9876543210n / -0xFEDCBA9876543210n,
    100  -0x1n,
    101  'The result of (0xFEDCBA9876543210n / -0xFEDCBA9876543210n) is -0x1n'
    102 );
    103 
    104 assert.sameValue(
    105  0xFEDCBA987654320Fn / 0xFEDCBA9876543210n,
    106  0x0n,
    107  'The result of (0xFEDCBA987654320Fn / 0xFEDCBA9876543210n) is 0x0n'
    108 );
    109 
    110 assert.sameValue(
    111  0xFEDCBA987654320Fn / 0xFEDCBA987654320Fn,
    112  0x1n,
    113  'The result of (0xFEDCBA987654320Fn / 0xFEDCBA987654320Fn) is 0x1n'
    114 );
    115 
    116 assert.sameValue(
    117  0xFEDCBA987654320Fn / 0xFEDCBA98n,
    118  0x100000000n,
    119  'The result of (0xFEDCBA987654320Fn / 0xFEDCBA98n) is 0x100000000n'
    120 );
    121 
    122 assert.sameValue(
    123  0xFEDCBA987654320Fn / 0xFEDCBA97n,
    124  0x100000001n,
    125  'The result of (0xFEDCBA987654320Fn / 0xFEDCBA97n) is 0x100000001n'
    126 );
    127 
    128 assert.sameValue(
    129  0xFEDCBA987654320Fn / 0x1234n,
    130  0xE0042813BE5DCn,
    131  'The result of (0xFEDCBA987654320Fn / 0x1234n) is 0xE0042813BE5DCn'
    132 );
    133 
    134 assert.sameValue(
    135  0xFEDCBA987654320Fn / 0x3n,
    136  0x54F43E32D21C10AFn,
    137  'The result of (0xFEDCBA987654320Fn / 0x3n) is 0x54F43E32D21C10AFn'
    138 );
    139 
    140 assert.sameValue(
    141  0xFEDCBA987654320Fn / 0x2n,
    142  0x7F6E5D4C3B2A1907n,
    143  'The result of (0xFEDCBA987654320Fn / 0x2n) is 0x7F6E5D4C3B2A1907n'
    144 );
    145 
    146 assert.sameValue(
    147  0xFEDCBA987654320Fn / 0x1n,
    148  0xFEDCBA987654320Fn,
    149  'The result of (0xFEDCBA987654320Fn / 0x1n) is 0xFEDCBA987654320Fn'
    150 );
    151 
    152 assert.sameValue(
    153  0xFEDCBA987654320Fn / -0x1n,
    154  -0xFEDCBA987654320Fn,
    155  'The result of (0xFEDCBA987654320Fn / -0x1n) is -0xFEDCBA987654320Fn'
    156 );
    157 
    158 assert.sameValue(
    159  0xFEDCBA987654320Fn / -0x2n,
    160  -0x7F6E5D4C3B2A1907n,
    161  'The result of (0xFEDCBA987654320Fn / -0x2n) is -0x7F6E5D4C3B2A1907n'
    162 );
    163 
    164 assert.sameValue(
    165  0xFEDCBA987654320Fn / -0x3n,
    166  -0x54F43E32D21C10AFn,
    167  'The result of (0xFEDCBA987654320Fn / -0x3n) is -0x54F43E32D21C10AFn'
    168 );
    169 
    170 assert.sameValue(
    171  0xFEDCBA987654320Fn / -0x1234n,
    172  -0xE0042813BE5DCn,
    173  'The result of (0xFEDCBA987654320Fn / -0x1234n) is -0xE0042813BE5DCn'
    174 );
    175 
    176 assert.sameValue(
    177  0xFEDCBA987654320Fn / -0xFEDCBA97n,
    178  -0x100000001n,
    179  'The result of (0xFEDCBA987654320Fn / -0xFEDCBA97n) is -0x100000001n'
    180 );
    181 
    182 assert.sameValue(
    183  0xFEDCBA987654320Fn / -0xFEDCBA98n,
    184  -0x100000000n,
    185  'The result of (0xFEDCBA987654320Fn / -0xFEDCBA98n) is -0x100000000n'
    186 );
    187 
    188 assert.sameValue(
    189  0xFEDCBA987654320Fn / -0xFEDCBA987654320Fn,
    190  -0x1n,
    191  'The result of (0xFEDCBA987654320Fn / -0xFEDCBA987654320Fn) is -0x1n'
    192 );
    193 
    194 assert.sameValue(
    195  0xFEDCBA987654320Fn / -0xFEDCBA9876543210n,
    196  0x0n,
    197  'The result of (0xFEDCBA987654320Fn / -0xFEDCBA9876543210n) is 0x0n'
    198 );
    199 
    200 assert.sameValue(
    201  0xFEDCBA98n / 0xFEDCBA9876543210n,
    202  0x0n,
    203  'The result of (0xFEDCBA98n / 0xFEDCBA9876543210n) is 0x0n'
    204 );
    205 
    206 assert.sameValue(
    207  0xFEDCBA98n / 0xFEDCBA987654320Fn,
    208  0x0n,
    209  'The result of (0xFEDCBA98n / 0xFEDCBA987654320Fn) is 0x0n'
    210 );
    211 
    212 assert.sameValue(
    213  0xFEDCBA98n / 0xFEDCBA98n,
    214  0x1n,
    215  'The result of (0xFEDCBA98n / 0xFEDCBA98n) is 0x1n'
    216 );
    217 
    218 assert.sameValue(
    219  0xFEDCBA98n / 0xFEDCBA97n,
    220  0x1n,
    221  'The result of (0xFEDCBA98n / 0xFEDCBA97n) is 0x1n'
    222 );
    223 
    224 assert.sameValue(
    225  0xFEDCBA98n / 0x1234n,
    226  0xE0042n,
    227  'The result of (0xFEDCBA98n / 0x1234n) is 0xE0042n'
    228 );
    229 
    230 assert.sameValue(
    231  0xFEDCBA98n / 0x3n,
    232  0x54F43E32n,
    233  'The result of (0xFEDCBA98n / 0x3n) is 0x54F43E32n'
    234 );
    235 
    236 assert.sameValue(
    237  0xFEDCBA98n / 0x2n,
    238  0x7F6E5D4Cn,
    239  'The result of (0xFEDCBA98n / 0x2n) is 0x7F6E5D4Cn'
    240 );
    241 
    242 assert.sameValue(
    243  0xFEDCBA98n / 0x1n,
    244  0xFEDCBA98n,
    245  'The result of (0xFEDCBA98n / 0x1n) is 0xFEDCBA98n'
    246 );
    247 
    248 assert.sameValue(
    249  0xFEDCBA98n / -0x1n,
    250  -0xFEDCBA98n,
    251  'The result of (0xFEDCBA98n / -0x1n) is -0xFEDCBA98n'
    252 );
    253 
    254 assert.sameValue(
    255  0xFEDCBA98n / -0x2n,
    256  -0x7F6E5D4Cn,
    257  'The result of (0xFEDCBA98n / -0x2n) is -0x7F6E5D4Cn'
    258 );
    259 
    260 assert.sameValue(
    261  0xFEDCBA98n / -0x3n,
    262  -0x54F43E32n,
    263  'The result of (0xFEDCBA98n / -0x3n) is -0x54F43E32n'
    264 );
    265 
    266 assert.sameValue(
    267  0xFEDCBA98n / -0x1234n,
    268  -0xE0042n,
    269  'The result of (0xFEDCBA98n / -0x1234n) is -0xE0042n'
    270 );
    271 
    272 assert.sameValue(
    273  0xFEDCBA98n / -0xFEDCBA97n,
    274  -0x1n,
    275  'The result of (0xFEDCBA98n / -0xFEDCBA97n) is -0x1n'
    276 );
    277 
    278 assert.sameValue(
    279  0xFEDCBA98n / -0xFEDCBA98n,
    280  -0x1n,
    281  'The result of (0xFEDCBA98n / -0xFEDCBA98n) is -0x1n'
    282 );
    283 
    284 assert.sameValue(
    285  0xFEDCBA98n / -0xFEDCBA987654320Fn,
    286  0x0n,
    287  'The result of (0xFEDCBA98n / -0xFEDCBA987654320Fn) is 0x0n'
    288 );
    289 
    290 assert.sameValue(
    291  0xFEDCBA98n / -0xFEDCBA9876543210n,
    292  0x0n,
    293  'The result of (0xFEDCBA98n / -0xFEDCBA9876543210n) is 0x0n'
    294 );
    295 
    296 assert.sameValue(
    297  0xFEDCBA97n / 0xFEDCBA9876543210n,
    298  0x0n,
    299  'The result of (0xFEDCBA97n / 0xFEDCBA9876543210n) is 0x0n'
    300 );
    301 
    302 assert.sameValue(
    303  0xFEDCBA97n / 0xFEDCBA987654320Fn,
    304  0x0n,
    305  'The result of (0xFEDCBA97n / 0xFEDCBA987654320Fn) is 0x0n'
    306 );
    307 
    308 assert.sameValue(
    309  0xFEDCBA97n / 0xFEDCBA98n,
    310  0x0n,
    311  'The result of (0xFEDCBA97n / 0xFEDCBA98n) is 0x0n'
    312 );
    313 
    314 assert.sameValue(
    315  0xFEDCBA97n / 0xFEDCBA97n,
    316  0x1n,
    317  'The result of (0xFEDCBA97n / 0xFEDCBA97n) is 0x1n'
    318 );
    319 
    320 assert.sameValue(
    321  0xFEDCBA97n / 0x1234n,
    322  0xE0042n,
    323  'The result of (0xFEDCBA97n / 0x1234n) is 0xE0042n'
    324 );
    325 
    326 assert.sameValue(
    327  0xFEDCBA97n / 0x3n,
    328  0x54F43E32n,
    329  'The result of (0xFEDCBA97n / 0x3n) is 0x54F43E32n'
    330 );
    331 
    332 assert.sameValue(
    333  0xFEDCBA97n / 0x2n,
    334  0x7F6E5D4Bn,
    335  'The result of (0xFEDCBA97n / 0x2n) is 0x7F6E5D4Bn'
    336 );
    337 
    338 assert.sameValue(
    339  0xFEDCBA97n / 0x1n,
    340  0xFEDCBA97n,
    341  'The result of (0xFEDCBA97n / 0x1n) is 0xFEDCBA97n'
    342 );
    343 
    344 assert.sameValue(
    345  0xFEDCBA97n / -0x1n,
    346  -0xFEDCBA97n,
    347  'The result of (0xFEDCBA97n / -0x1n) is -0xFEDCBA97n'
    348 );
    349 
    350 assert.sameValue(
    351  0xFEDCBA97n / -0x2n,
    352  -0x7F6E5D4Bn,
    353  'The result of (0xFEDCBA97n / -0x2n) is -0x7F6E5D4Bn'
    354 );
    355 
    356 assert.sameValue(
    357  0xFEDCBA97n / -0x3n,
    358  -0x54F43E32n,
    359  'The result of (0xFEDCBA97n / -0x3n) is -0x54F43E32n'
    360 );
    361 
    362 assert.sameValue(
    363  0xFEDCBA97n / -0x1234n,
    364  -0xE0042n,
    365  'The result of (0xFEDCBA97n / -0x1234n) is -0xE0042n'
    366 );
    367 
    368 assert.sameValue(
    369  0xFEDCBA97n / -0xFEDCBA97n,
    370  -0x1n,
    371  'The result of (0xFEDCBA97n / -0xFEDCBA97n) is -0x1n'
    372 );
    373 
    374 assert.sameValue(
    375  0xFEDCBA97n / -0xFEDCBA98n,
    376  0x0n,
    377  'The result of (0xFEDCBA97n / -0xFEDCBA98n) is 0x0n'
    378 );
    379 
    380 assert.sameValue(
    381  0xFEDCBA97n / -0xFEDCBA987654320Fn,
    382  0x0n,
    383  'The result of (0xFEDCBA97n / -0xFEDCBA987654320Fn) is 0x0n'
    384 );
    385 
    386 assert.sameValue(
    387  0xFEDCBA97n / -0xFEDCBA9876543210n,
    388  0x0n,
    389  'The result of (0xFEDCBA97n / -0xFEDCBA9876543210n) is 0x0n'
    390 );
    391 
    392 assert.sameValue(
    393  0x1234n / 0xFEDCBA9876543210n,
    394  0x0n,
    395  'The result of (0x1234n / 0xFEDCBA9876543210n) is 0x0n'
    396 );
    397 
    398 assert.sameValue(
    399  0x1234n / 0xFEDCBA987654320Fn,
    400  0x0n,
    401  'The result of (0x1234n / 0xFEDCBA987654320Fn) is 0x0n'
    402 );
    403 
    404 assert.sameValue(0x1234n / 0xFEDCBA98n, 0x0n, 'The result of (0x1234n / 0xFEDCBA98n) is 0x0n');
    405 assert.sameValue(0x1234n / 0xFEDCBA97n, 0x0n, 'The result of (0x1234n / 0xFEDCBA97n) is 0x0n');
    406 assert.sameValue(0x1234n / 0x1234n, 0x1n, 'The result of (0x1234n / 0x1234n) is 0x1n');
    407 assert.sameValue(0x1234n / 0x3n, 0x611n, 'The result of (0x1234n / 0x3n) is 0x611n');
    408 assert.sameValue(0x1234n / 0x2n, 0x91An, 'The result of (0x1234n / 0x2n) is 0x91An');
    409 assert.sameValue(0x1234n / 0x1n, 0x1234n, 'The result of (0x1234n / 0x1n) is 0x1234n');
    410 assert.sameValue(0x1234n / -0x1n, -0x1234n, 'The result of (0x1234n / -0x1n) is -0x1234n');
    411 assert.sameValue(0x1234n / -0x2n, -0x91An, 'The result of (0x1234n / -0x2n) is -0x91An');
    412 assert.sameValue(0x1234n / -0x3n, -0x611n, 'The result of (0x1234n / -0x3n) is -0x611n');
    413 assert.sameValue(0x1234n / -0x1234n, -0x1n, 'The result of (0x1234n / -0x1234n) is -0x1n');
    414 assert.sameValue(0x1234n / -0xFEDCBA97n, 0x0n, 'The result of (0x1234n / -0xFEDCBA97n) is 0x0n');
    415 assert.sameValue(0x1234n / -0xFEDCBA98n, 0x0n, 'The result of (0x1234n / -0xFEDCBA98n) is 0x0n');
    416 
    417 assert.sameValue(
    418  0x1234n / -0xFEDCBA987654320Fn,
    419  0x0n,
    420  'The result of (0x1234n / -0xFEDCBA987654320Fn) is 0x0n'
    421 );
    422 
    423 assert.sameValue(
    424  0x1234n / -0xFEDCBA9876543210n,
    425  0x0n,
    426  'The result of (0x1234n / -0xFEDCBA9876543210n) is 0x0n'
    427 );
    428 
    429 assert.sameValue(
    430  0x3n / 0xFEDCBA9876543210n,
    431  0x0n,
    432  'The result of (0x3n / 0xFEDCBA9876543210n) is 0x0n'
    433 );
    434 
    435 assert.sameValue(
    436  0x3n / 0xFEDCBA987654320Fn,
    437  0x0n,
    438  'The result of (0x3n / 0xFEDCBA987654320Fn) is 0x0n'
    439 );
    440 
    441 assert.sameValue(0x3n / 0xFEDCBA98n, 0x0n, 'The result of (0x3n / 0xFEDCBA98n) is 0x0n');
    442 assert.sameValue(0x3n / 0xFEDCBA97n, 0x0n, 'The result of (0x3n / 0xFEDCBA97n) is 0x0n');
    443 assert.sameValue(0x3n / 0x1234n, 0x0n, 'The result of (0x3n / 0x1234n) is 0x0n');
    444 assert.sameValue(0x3n / 0x3n, 0x1n, 'The result of (0x3n / 0x3n) is 0x1n');
    445 assert.sameValue(0x3n / 0x2n, 0x1n, 'The result of (0x3n / 0x2n) is 0x1n');
    446 assert.sameValue(0x3n / 0x1n, 0x3n, 'The result of (0x3n / 0x1n) is 0x3n');
    447 assert.sameValue(0x3n / -0x1n, -0x3n, 'The result of (0x3n / -0x1n) is -0x3n');
    448 assert.sameValue(0x3n / -0x2n, -0x1n, 'The result of (0x3n / -0x2n) is -0x1n');
    449 assert.sameValue(0x3n / -0x3n, -0x1n, 'The result of (0x3n / -0x3n) is -0x1n');
    450 assert.sameValue(0x3n / -0x1234n, 0x0n, 'The result of (0x3n / -0x1234n) is 0x0n');
    451 assert.sameValue(0x3n / -0xFEDCBA97n, 0x0n, 'The result of (0x3n / -0xFEDCBA97n) is 0x0n');
    452 assert.sameValue(0x3n / -0xFEDCBA98n, 0x0n, 'The result of (0x3n / -0xFEDCBA98n) is 0x0n');
    453 
    454 assert.sameValue(
    455  0x3n / -0xFEDCBA987654320Fn,
    456  0x0n,
    457  'The result of (0x3n / -0xFEDCBA987654320Fn) is 0x0n'
    458 );
    459 
    460 assert.sameValue(
    461  0x3n / -0xFEDCBA9876543210n,
    462  0x0n,
    463  'The result of (0x3n / -0xFEDCBA9876543210n) is 0x0n'
    464 );
    465 
    466 assert.sameValue(
    467  0x2n / 0xFEDCBA9876543210n,
    468  0x0n,
    469  'The result of (0x2n / 0xFEDCBA9876543210n) is 0x0n'
    470 );
    471 
    472 assert.sameValue(
    473  0x2n / 0xFEDCBA987654320Fn,
    474  0x0n,
    475  'The result of (0x2n / 0xFEDCBA987654320Fn) is 0x0n'
    476 );
    477 
    478 assert.sameValue(0x2n / 0xFEDCBA98n, 0x0n, 'The result of (0x2n / 0xFEDCBA98n) is 0x0n');
    479 assert.sameValue(0x2n / 0xFEDCBA97n, 0x0n, 'The result of (0x2n / 0xFEDCBA97n) is 0x0n');
    480 assert.sameValue(0x2n / 0x1234n, 0x0n, 'The result of (0x2n / 0x1234n) is 0x0n');
    481 assert.sameValue(0x2n / 0x3n, 0x0n, 'The result of (0x2n / 0x3n) is 0x0n');
    482 assert.sameValue(0x2n / 0x2n, 0x1n, 'The result of (0x2n / 0x2n) is 0x1n');
    483 assert.sameValue(0x2n / 0x1n, 0x2n, 'The result of (0x2n / 0x1n) is 0x2n');
    484 assert.sameValue(0x2n / -0x1n, -0x2n, 'The result of (0x2n / -0x1n) is -0x2n');
    485 assert.sameValue(0x2n / -0x2n, -0x1n, 'The result of (0x2n / -0x2n) is -0x1n');
    486 assert.sameValue(0x2n / -0x3n, 0x0n, 'The result of (0x2n / -0x3n) is 0x0n');
    487 assert.sameValue(0x2n / -0x1234n, 0x0n, 'The result of (0x2n / -0x1234n) is 0x0n');
    488 assert.sameValue(0x2n / -0xFEDCBA97n, 0x0n, 'The result of (0x2n / -0xFEDCBA97n) is 0x0n');
    489 assert.sameValue(0x2n / -0xFEDCBA98n, 0x0n, 'The result of (0x2n / -0xFEDCBA98n) is 0x0n');
    490 
    491 assert.sameValue(
    492  0x2n / -0xFEDCBA987654320Fn,
    493  0x0n,
    494  'The result of (0x2n / -0xFEDCBA987654320Fn) is 0x0n'
    495 );
    496 
    497 assert.sameValue(
    498  0x2n / -0xFEDCBA9876543210n,
    499  0x0n,
    500  'The result of (0x2n / -0xFEDCBA9876543210n) is 0x0n'
    501 );
    502 
    503 assert.sameValue(
    504  0x1n / 0xFEDCBA9876543210n,
    505  0x0n,
    506  'The result of (0x1n / 0xFEDCBA9876543210n) is 0x0n'
    507 );
    508 
    509 assert.sameValue(
    510  0x1n / 0xFEDCBA987654320Fn,
    511  0x0n,
    512  'The result of (0x1n / 0xFEDCBA987654320Fn) is 0x0n'
    513 );
    514 
    515 assert.sameValue(0x1n / 0xFEDCBA98n, 0x0n, 'The result of (0x1n / 0xFEDCBA98n) is 0x0n');
    516 assert.sameValue(0x1n / 0xFEDCBA97n, 0x0n, 'The result of (0x1n / 0xFEDCBA97n) is 0x0n');
    517 assert.sameValue(0x1n / 0x1234n, 0x0n, 'The result of (0x1n / 0x1234n) is 0x0n');
    518 assert.sameValue(0x1n / 0x3n, 0x0n, 'The result of (0x1n / 0x3n) is 0x0n');
    519 assert.sameValue(0x1n / 0x2n, 0x0n, 'The result of (0x1n / 0x2n) is 0x0n');
    520 assert.sameValue(0x1n / 0x1n, 0x1n, 'The result of (0x1n / 0x1n) is 0x1n');
    521 assert.sameValue(0x1n / -0x1n, -0x1n, 'The result of (0x1n / -0x1n) is -0x1n');
    522 assert.sameValue(0x1n / -0x2n, 0x0n, 'The result of (0x1n / -0x2n) is 0x0n');
    523 assert.sameValue(0x1n / -0x3n, 0x0n, 'The result of (0x1n / -0x3n) is 0x0n');
    524 assert.sameValue(0x1n / -0x1234n, 0x0n, 'The result of (0x1n / -0x1234n) is 0x0n');
    525 assert.sameValue(0x1n / -0xFEDCBA97n, 0x0n, 'The result of (0x1n / -0xFEDCBA97n) is 0x0n');
    526 assert.sameValue(0x1n / -0xFEDCBA98n, 0x0n, 'The result of (0x1n / -0xFEDCBA98n) is 0x0n');
    527 
    528 assert.sameValue(
    529  0x1n / -0xFEDCBA987654320Fn,
    530  0x0n,
    531  'The result of (0x1n / -0xFEDCBA987654320Fn) is 0x0n'
    532 );
    533 
    534 assert.sameValue(
    535  0x1n / -0xFEDCBA9876543210n,
    536  0x0n,
    537  'The result of (0x1n / -0xFEDCBA9876543210n) is 0x0n'
    538 );
    539 
    540 assert.sameValue(
    541  -0x1n / 0xFEDCBA9876543210n,
    542  0x0n,
    543  'The result of (-0x1n / 0xFEDCBA9876543210n) is 0x0n'
    544 );
    545 
    546 assert.sameValue(
    547  -0x1n / 0xFEDCBA987654320Fn,
    548  0x0n,
    549  'The result of (-0x1n / 0xFEDCBA987654320Fn) is 0x0n'
    550 );
    551 
    552 assert.sameValue(-0x1n / 0xFEDCBA98n, 0x0n, 'The result of (-0x1n / 0xFEDCBA98n) is 0x0n');
    553 assert.sameValue(-0x1n / 0xFEDCBA97n, 0x0n, 'The result of (-0x1n / 0xFEDCBA97n) is 0x0n');
    554 assert.sameValue(-0x1n / 0x1234n, 0x0n, 'The result of (-0x1n / 0x1234n) is 0x0n');
    555 assert.sameValue(-0x1n / 0x3n, 0x0n, 'The result of (-0x1n / 0x3n) is 0x0n');
    556 assert.sameValue(-0x1n / 0x2n, 0x0n, 'The result of (-0x1n / 0x2n) is 0x0n');
    557 assert.sameValue(-0x1n / 0x1n, -0x1n, 'The result of (-0x1n / 0x1n) is -0x1n');
    558 assert.sameValue(-0x1n / -0x1n, 0x1n, 'The result of (-0x1n / -0x1n) is 0x1n');
    559 assert.sameValue(-0x1n / -0x2n, 0x0n, 'The result of (-0x1n / -0x2n) is 0x0n');
    560 assert.sameValue(-0x1n / -0x3n, 0x0n, 'The result of (-0x1n / -0x3n) is 0x0n');
    561 assert.sameValue(-0x1n / -0x1234n, 0x0n, 'The result of (-0x1n / -0x1234n) is 0x0n');
    562 assert.sameValue(-0x1n / -0xFEDCBA97n, 0x0n, 'The result of (-0x1n / -0xFEDCBA97n) is 0x0n');
    563 assert.sameValue(-0x1n / -0xFEDCBA98n, 0x0n, 'The result of (-0x1n / -0xFEDCBA98n) is 0x0n');
    564 
    565 assert.sameValue(
    566  -0x1n / -0xFEDCBA987654320Fn,
    567  0x0n,
    568  'The result of (-0x1n / -0xFEDCBA987654320Fn) is 0x0n'
    569 );
    570 
    571 assert.sameValue(
    572  -0x1n / -0xFEDCBA9876543210n,
    573  0x0n,
    574  'The result of (-0x1n / -0xFEDCBA9876543210n) is 0x0n'
    575 );
    576 
    577 assert.sameValue(
    578  -0x2n / 0xFEDCBA9876543210n,
    579  0x0n,
    580  'The result of (-0x2n / 0xFEDCBA9876543210n) is 0x0n'
    581 );
    582 
    583 assert.sameValue(
    584  -0x2n / 0xFEDCBA987654320Fn,
    585  0x0n,
    586  'The result of (-0x2n / 0xFEDCBA987654320Fn) is 0x0n'
    587 );
    588 
    589 assert.sameValue(-0x2n / 0xFEDCBA98n, 0x0n, 'The result of (-0x2n / 0xFEDCBA98n) is 0x0n');
    590 assert.sameValue(-0x2n / 0xFEDCBA97n, 0x0n, 'The result of (-0x2n / 0xFEDCBA97n) is 0x0n');
    591 assert.sameValue(-0x2n / 0x1234n, 0x0n, 'The result of (-0x2n / 0x1234n) is 0x0n');
    592 assert.sameValue(-0x2n / 0x3n, 0x0n, 'The result of (-0x2n / 0x3n) is 0x0n');
    593 assert.sameValue(-0x2n / 0x2n, -0x1n, 'The result of (-0x2n / 0x2n) is -0x1n');
    594 assert.sameValue(-0x2n / 0x1n, -0x2n, 'The result of (-0x2n / 0x1n) is -0x2n');
    595 assert.sameValue(-0x2n / -0x1n, 0x2n, 'The result of (-0x2n / -0x1n) is 0x2n');
    596 assert.sameValue(-0x2n / -0x2n, 0x1n, 'The result of (-0x2n / -0x2n) is 0x1n');
    597 assert.sameValue(-0x2n / -0x3n, 0x0n, 'The result of (-0x2n / -0x3n) is 0x0n');
    598 assert.sameValue(-0x2n / -0x1234n, 0x0n, 'The result of (-0x2n / -0x1234n) is 0x0n');
    599 assert.sameValue(-0x2n / -0xFEDCBA97n, 0x0n, 'The result of (-0x2n / -0xFEDCBA97n) is 0x0n');
    600 assert.sameValue(-0x2n / -0xFEDCBA98n, 0x0n, 'The result of (-0x2n / -0xFEDCBA98n) is 0x0n');
    601 
    602 assert.sameValue(
    603  -0x2n / -0xFEDCBA987654320Fn,
    604  0x0n,
    605  'The result of (-0x2n / -0xFEDCBA987654320Fn) is 0x0n'
    606 );
    607 
    608 assert.sameValue(
    609  -0x2n / -0xFEDCBA9876543210n,
    610  0x0n,
    611  'The result of (-0x2n / -0xFEDCBA9876543210n) is 0x0n'
    612 );
    613 
    614 assert.sameValue(
    615  -0x3n / 0xFEDCBA9876543210n,
    616  0x0n,
    617  'The result of (-0x3n / 0xFEDCBA9876543210n) is 0x0n'
    618 );
    619 
    620 assert.sameValue(
    621  -0x3n / 0xFEDCBA987654320Fn,
    622  0x0n,
    623  'The result of (-0x3n / 0xFEDCBA987654320Fn) is 0x0n'
    624 );
    625 
    626 assert.sameValue(-0x3n / 0xFEDCBA98n, 0x0n, 'The result of (-0x3n / 0xFEDCBA98n) is 0x0n');
    627 assert.sameValue(-0x3n / 0xFEDCBA97n, 0x0n, 'The result of (-0x3n / 0xFEDCBA97n) is 0x0n');
    628 assert.sameValue(-0x3n / 0x1234n, 0x0n, 'The result of (-0x3n / 0x1234n) is 0x0n');
    629 assert.sameValue(-0x3n / 0x3n, -0x1n, 'The result of (-0x3n / 0x3n) is -0x1n');
    630 assert.sameValue(-0x3n / 0x2n, -0x1n, 'The result of (-0x3n / 0x2n) is -0x1n');
    631 assert.sameValue(-0x3n / 0x1n, -0x3n, 'The result of (-0x3n / 0x1n) is -0x3n');
    632 assert.sameValue(-0x3n / -0x1n, 0x3n, 'The result of (-0x3n / -0x1n) is 0x3n');
    633 assert.sameValue(-0x3n / -0x2n, 0x1n, 'The result of (-0x3n / -0x2n) is 0x1n');
    634 assert.sameValue(-0x3n / -0x3n, 0x1n, 'The result of (-0x3n / -0x3n) is 0x1n');
    635 assert.sameValue(-0x3n / -0x1234n, 0x0n, 'The result of (-0x3n / -0x1234n) is 0x0n');
    636 assert.sameValue(-0x3n / -0xFEDCBA97n, 0x0n, 'The result of (-0x3n / -0xFEDCBA97n) is 0x0n');
    637 assert.sameValue(-0x3n / -0xFEDCBA98n, 0x0n, 'The result of (-0x3n / -0xFEDCBA98n) is 0x0n');
    638 
    639 assert.sameValue(
    640  -0x3n / -0xFEDCBA987654320Fn,
    641  0x0n,
    642  'The result of (-0x3n / -0xFEDCBA987654320Fn) is 0x0n'
    643 );
    644 
    645 assert.sameValue(
    646  -0x3n / -0xFEDCBA9876543210n,
    647  0x0n,
    648  'The result of (-0x3n / -0xFEDCBA9876543210n) is 0x0n'
    649 );
    650 
    651 assert.sameValue(
    652  -0x1234n / 0xFEDCBA9876543210n,
    653  0x0n,
    654  'The result of (-0x1234n / 0xFEDCBA9876543210n) is 0x0n'
    655 );
    656 
    657 assert.sameValue(
    658  -0x1234n / 0xFEDCBA987654320Fn,
    659  0x0n,
    660  'The result of (-0x1234n / 0xFEDCBA987654320Fn) is 0x0n'
    661 );
    662 
    663 assert.sameValue(-0x1234n / 0xFEDCBA98n, 0x0n, 'The result of (-0x1234n / 0xFEDCBA98n) is 0x0n');
    664 assert.sameValue(-0x1234n / 0xFEDCBA97n, 0x0n, 'The result of (-0x1234n / 0xFEDCBA97n) is 0x0n');
    665 assert.sameValue(-0x1234n / 0x1234n, -0x1n, 'The result of (-0x1234n / 0x1234n) is -0x1n');
    666 assert.sameValue(-0x1234n / 0x3n, -0x611n, 'The result of (-0x1234n / 0x3n) is -0x611n');
    667 assert.sameValue(-0x1234n / 0x2n, -0x91An, 'The result of (-0x1234n / 0x2n) is -0x91An');
    668 assert.sameValue(-0x1234n / 0x1n, -0x1234n, 'The result of (-0x1234n / 0x1n) is -0x1234n');
    669 assert.sameValue(-0x1234n / -0x1n, 0x1234n, 'The result of (-0x1234n / -0x1n) is 0x1234n');
    670 assert.sameValue(-0x1234n / -0x2n, 0x91An, 'The result of (-0x1234n / -0x2n) is 0x91An');
    671 assert.sameValue(-0x1234n / -0x3n, 0x611n, 'The result of (-0x1234n / -0x3n) is 0x611n');
    672 assert.sameValue(-0x1234n / -0x1234n, 0x1n, 'The result of (-0x1234n / -0x1234n) is 0x1n');
    673 assert.sameValue(-0x1234n / -0xFEDCBA97n, 0x0n, 'The result of (-0x1234n / -0xFEDCBA97n) is 0x0n');
    674 assert.sameValue(-0x1234n / -0xFEDCBA98n, 0x0n, 'The result of (-0x1234n / -0xFEDCBA98n) is 0x0n');
    675 
    676 assert.sameValue(
    677  -0x1234n / -0xFEDCBA987654320Fn,
    678  0x0n,
    679  'The result of (-0x1234n / -0xFEDCBA987654320Fn) is 0x0n'
    680 );
    681 
    682 assert.sameValue(
    683  -0x1234n / -0xFEDCBA9876543210n,
    684  0x0n,
    685  'The result of (-0x1234n / -0xFEDCBA9876543210n) is 0x0n'
    686 );
    687 
    688 assert.sameValue(
    689  -0xFEDCBA97n / 0xFEDCBA9876543210n,
    690  0x0n,
    691  'The result of (-0xFEDCBA97n / 0xFEDCBA9876543210n) is 0x0n'
    692 );
    693 
    694 assert.sameValue(
    695  -0xFEDCBA97n / 0xFEDCBA987654320Fn,
    696  0x0n,
    697  'The result of (-0xFEDCBA97n / 0xFEDCBA987654320Fn) is 0x0n'
    698 );
    699 
    700 assert.sameValue(
    701  -0xFEDCBA97n / 0xFEDCBA98n,
    702  0x0n,
    703  'The result of (-0xFEDCBA97n / 0xFEDCBA98n) is 0x0n'
    704 );
    705 
    706 assert.sameValue(
    707  -0xFEDCBA97n / 0xFEDCBA97n,
    708  -0x1n,
    709  'The result of (-0xFEDCBA97n / 0xFEDCBA97n) is -0x1n'
    710 );
    711 
    712 assert.sameValue(
    713  -0xFEDCBA97n / 0x1234n,
    714  -0xE0042n,
    715  'The result of (-0xFEDCBA97n / 0x1234n) is -0xE0042n'
    716 );
    717 
    718 assert.sameValue(
    719  -0xFEDCBA97n / 0x3n,
    720  -0x54F43E32n,
    721  'The result of (-0xFEDCBA97n / 0x3n) is -0x54F43E32n'
    722 );
    723 
    724 assert.sameValue(
    725  -0xFEDCBA97n / 0x2n,
    726  -0x7F6E5D4Bn,
    727  'The result of (-0xFEDCBA97n / 0x2n) is -0x7F6E5D4Bn'
    728 );
    729 
    730 assert.sameValue(
    731  -0xFEDCBA97n / 0x1n,
    732  -0xFEDCBA97n,
    733  'The result of (-0xFEDCBA97n / 0x1n) is -0xFEDCBA97n'
    734 );
    735 
    736 assert.sameValue(
    737  -0xFEDCBA97n / -0x1n,
    738  0xFEDCBA97n,
    739  'The result of (-0xFEDCBA97n / -0x1n) is 0xFEDCBA97n'
    740 );
    741 
    742 assert.sameValue(
    743  -0xFEDCBA97n / -0x2n,
    744  0x7F6E5D4Bn,
    745  'The result of (-0xFEDCBA97n / -0x2n) is 0x7F6E5D4Bn'
    746 );
    747 
    748 assert.sameValue(
    749  -0xFEDCBA97n / -0x3n,
    750  0x54F43E32n,
    751  'The result of (-0xFEDCBA97n / -0x3n) is 0x54F43E32n'
    752 );
    753 
    754 assert.sameValue(
    755  -0xFEDCBA97n / -0x1234n,
    756  0xE0042n,
    757  'The result of (-0xFEDCBA97n / -0x1234n) is 0xE0042n'
    758 );
    759 
    760 assert.sameValue(
    761  -0xFEDCBA97n / -0xFEDCBA97n,
    762  0x1n,
    763  'The result of (-0xFEDCBA97n / -0xFEDCBA97n) is 0x1n'
    764 );
    765 
    766 assert.sameValue(
    767  -0xFEDCBA97n / -0xFEDCBA98n,
    768  0x0n,
    769  'The result of (-0xFEDCBA97n / -0xFEDCBA98n) is 0x0n'
    770 );
    771 
    772 assert.sameValue(
    773  -0xFEDCBA97n / -0xFEDCBA987654320Fn,
    774  0x0n,
    775  'The result of (-0xFEDCBA97n / -0xFEDCBA987654320Fn) is 0x0n'
    776 );
    777 
    778 assert.sameValue(
    779  -0xFEDCBA97n / -0xFEDCBA9876543210n,
    780  0x0n,
    781  'The result of (-0xFEDCBA97n / -0xFEDCBA9876543210n) is 0x0n'
    782 );
    783 
    784 assert.sameValue(
    785  -0xFEDCBA98n / 0xFEDCBA9876543210n,
    786  0x0n,
    787  'The result of (-0xFEDCBA98n / 0xFEDCBA9876543210n) is 0x0n'
    788 );
    789 
    790 assert.sameValue(
    791  -0xFEDCBA98n / 0xFEDCBA987654320Fn,
    792  0x0n,
    793  'The result of (-0xFEDCBA98n / 0xFEDCBA987654320Fn) is 0x0n'
    794 );
    795 
    796 assert.sameValue(
    797  -0xFEDCBA98n / 0xFEDCBA98n,
    798  -0x1n,
    799  'The result of (-0xFEDCBA98n / 0xFEDCBA98n) is -0x1n'
    800 );
    801 
    802 assert.sameValue(
    803  -0xFEDCBA98n / 0xFEDCBA97n,
    804  -0x1n,
    805  'The result of (-0xFEDCBA98n / 0xFEDCBA97n) is -0x1n'
    806 );
    807 
    808 assert.sameValue(
    809  -0xFEDCBA98n / 0x1234n,
    810  -0xE0042n,
    811  'The result of (-0xFEDCBA98n / 0x1234n) is -0xE0042n'
    812 );
    813 
    814 assert.sameValue(
    815  -0xFEDCBA98n / 0x3n,
    816  -0x54F43E32n,
    817  'The result of (-0xFEDCBA98n / 0x3n) is -0x54F43E32n'
    818 );
    819 
    820 assert.sameValue(
    821  -0xFEDCBA98n / 0x2n,
    822  -0x7F6E5D4Cn,
    823  'The result of (-0xFEDCBA98n / 0x2n) is -0x7F6E5D4Cn'
    824 );
    825 
    826 assert.sameValue(
    827  -0xFEDCBA98n / 0x1n,
    828  -0xFEDCBA98n,
    829  'The result of (-0xFEDCBA98n / 0x1n) is -0xFEDCBA98n'
    830 );
    831 
    832 assert.sameValue(
    833  -0xFEDCBA98n / -0x1n,
    834  0xFEDCBA98n,
    835  'The result of (-0xFEDCBA98n / -0x1n) is 0xFEDCBA98n'
    836 );
    837 
    838 assert.sameValue(
    839  -0xFEDCBA98n / -0x2n,
    840  0x7F6E5D4Cn,
    841  'The result of (-0xFEDCBA98n / -0x2n) is 0x7F6E5D4Cn'
    842 );
    843 
    844 assert.sameValue(
    845  -0xFEDCBA98n / -0x3n,
    846  0x54F43E32n,
    847  'The result of (-0xFEDCBA98n / -0x3n) is 0x54F43E32n'
    848 );
    849 
    850 assert.sameValue(
    851  -0xFEDCBA98n / -0x1234n,
    852  0xE0042n,
    853  'The result of (-0xFEDCBA98n / -0x1234n) is 0xE0042n'
    854 );
    855 
    856 assert.sameValue(
    857  -0xFEDCBA98n / -0xFEDCBA97n,
    858  0x1n,
    859  'The result of (-0xFEDCBA98n / -0xFEDCBA97n) is 0x1n'
    860 );
    861 
    862 assert.sameValue(
    863  -0xFEDCBA98n / -0xFEDCBA98n,
    864  0x1n,
    865  'The result of (-0xFEDCBA98n / -0xFEDCBA98n) is 0x1n'
    866 );
    867 
    868 assert.sameValue(
    869  -0xFEDCBA98n / -0xFEDCBA987654320Fn,
    870  0x0n,
    871  'The result of (-0xFEDCBA98n / -0xFEDCBA987654320Fn) is 0x0n'
    872 );
    873 
    874 assert.sameValue(
    875  -0xFEDCBA98n / -0xFEDCBA9876543210n,
    876  0x0n,
    877  'The result of (-0xFEDCBA98n / -0xFEDCBA9876543210n) is 0x0n'
    878 );
    879 
    880 assert.sameValue(
    881  -0xFEDCBA987654320Fn / 0xFEDCBA9876543210n,
    882  0x0n,
    883  'The result of (-0xFEDCBA987654320Fn / 0xFEDCBA9876543210n) is 0x0n'
    884 );
    885 
    886 assert.sameValue(
    887  -0xFEDCBA987654320Fn / 0xFEDCBA987654320Fn,
    888  -0x1n,
    889  'The result of (-0xFEDCBA987654320Fn / 0xFEDCBA987654320Fn) is -0x1n'
    890 );
    891 
    892 assert.sameValue(
    893  -0xFEDCBA987654320Fn / 0xFEDCBA98n,
    894  -0x100000000n,
    895  'The result of (-0xFEDCBA987654320Fn / 0xFEDCBA98n) is -0x100000000n'
    896 );
    897 
    898 assert.sameValue(
    899  -0xFEDCBA987654320Fn / 0xFEDCBA97n,
    900  -0x100000001n,
    901  'The result of (-0xFEDCBA987654320Fn / 0xFEDCBA97n) is -0x100000001n'
    902 );
    903 
    904 assert.sameValue(
    905  -0xFEDCBA987654320Fn / 0x1234n,
    906  -0xE0042813BE5DCn,
    907  'The result of (-0xFEDCBA987654320Fn / 0x1234n) is -0xE0042813BE5DCn'
    908 );
    909 
    910 assert.sameValue(
    911  -0xFEDCBA987654320Fn / 0x3n,
    912  -0x54F43E32D21C10AFn,
    913  'The result of (-0xFEDCBA987654320Fn / 0x3n) is -0x54F43E32D21C10AFn'
    914 );
    915 
    916 assert.sameValue(
    917  -0xFEDCBA987654320Fn / 0x2n,
    918  -0x7F6E5D4C3B2A1907n,
    919  'The result of (-0xFEDCBA987654320Fn / 0x2n) is -0x7F6E5D4C3B2A1907n'
    920 );
    921 
    922 assert.sameValue(
    923  -0xFEDCBA987654320Fn / 0x1n,
    924  -0xFEDCBA987654320Fn,
    925  'The result of (-0xFEDCBA987654320Fn / 0x1n) is -0xFEDCBA987654320Fn'
    926 );
    927 
    928 assert.sameValue(
    929  -0xFEDCBA987654320Fn / -0x1n,
    930  0xFEDCBA987654320Fn,
    931  'The result of (-0xFEDCBA987654320Fn / -0x1n) is 0xFEDCBA987654320Fn'
    932 );
    933 
    934 assert.sameValue(
    935  -0xFEDCBA987654320Fn / -0x2n,
    936  0x7F6E5D4C3B2A1907n,
    937  'The result of (-0xFEDCBA987654320Fn / -0x2n) is 0x7F6E5D4C3B2A1907n'
    938 );
    939 
    940 assert.sameValue(
    941  -0xFEDCBA987654320Fn / -0x3n,
    942  0x54F43E32D21C10AFn,
    943  'The result of (-0xFEDCBA987654320Fn / -0x3n) is 0x54F43E32D21C10AFn'
    944 );
    945 
    946 assert.sameValue(
    947  -0xFEDCBA987654320Fn / -0x1234n,
    948  0xE0042813BE5DCn,
    949  'The result of (-0xFEDCBA987654320Fn / -0x1234n) is 0xE0042813BE5DCn'
    950 );
    951 
    952 assert.sameValue(
    953  -0xFEDCBA987654320Fn / -0xFEDCBA97n,
    954  0x100000001n,
    955  'The result of (-0xFEDCBA987654320Fn / -0xFEDCBA97n) is 0x100000001n'
    956 );
    957 
    958 assert.sameValue(
    959  -0xFEDCBA987654320Fn / -0xFEDCBA98n,
    960  0x100000000n,
    961  'The result of (-0xFEDCBA987654320Fn / -0xFEDCBA98n) is 0x100000000n'
    962 );
    963 
    964 assert.sameValue(
    965  -0xFEDCBA987654320Fn / -0xFEDCBA987654320Fn,
    966  0x1n,
    967  'The result of (-0xFEDCBA987654320Fn / -0xFEDCBA987654320Fn) is 0x1n'
    968 );
    969 
    970 assert.sameValue(
    971  -0xFEDCBA987654320Fn / -0xFEDCBA9876543210n,
    972  0x0n,
    973  'The result of (-0xFEDCBA987654320Fn / -0xFEDCBA9876543210n) is 0x0n'
    974 );
    975 
    976 assert.sameValue(
    977  -0xFEDCBA9876543210n / 0xFEDCBA9876543210n,
    978  -0x1n,
    979  'The result of (-0xFEDCBA9876543210n / 0xFEDCBA9876543210n) is -0x1n'
    980 );
    981 
    982 assert.sameValue(
    983  -0xFEDCBA9876543210n / 0xFEDCBA987654320Fn,
    984  -0x1n,
    985  'The result of (-0xFEDCBA9876543210n / 0xFEDCBA987654320Fn) is -0x1n'
    986 );
    987 
    988 assert.sameValue(
    989  -0xFEDCBA9876543210n / 0xFEDCBA98n,
    990  -0x100000000n,
    991  'The result of (-0xFEDCBA9876543210n / 0xFEDCBA98n) is -0x100000000n'
    992 );
    993 
    994 assert.sameValue(
    995  -0xFEDCBA9876543210n / 0xFEDCBA97n,
    996  -0x100000001n,
    997  'The result of (-0xFEDCBA9876543210n / 0xFEDCBA97n) is -0x100000001n'
    998 );
    999 
   1000 assert.sameValue(
   1001  -0xFEDCBA9876543210n / 0x1234n,
   1002  -0xE0042813BE5DCn,
   1003  'The result of (-0xFEDCBA9876543210n / 0x1234n) is -0xE0042813BE5DCn'
   1004 );
   1005 
   1006 assert.sameValue(
   1007  -0xFEDCBA9876543210n / 0x3n,
   1008  -0x54F43E32D21C10B0n,
   1009  'The result of (-0xFEDCBA9876543210n / 0x3n) is -0x54F43E32D21C10B0n'
   1010 );
   1011 
   1012 assert.sameValue(
   1013  -0xFEDCBA9876543210n / 0x2n,
   1014  -0x7F6E5D4C3B2A1908n,
   1015  'The result of (-0xFEDCBA9876543210n / 0x2n) is -0x7F6E5D4C3B2A1908n'
   1016 );
   1017 
   1018 assert.sameValue(
   1019  -0xFEDCBA9876543210n / 0x1n,
   1020  -0xFEDCBA9876543210n,
   1021  'The result of (-0xFEDCBA9876543210n / 0x1n) is -0xFEDCBA9876543210n'
   1022 );
   1023 
   1024 assert.sameValue(
   1025  -0xFEDCBA9876543210n / -0x1n,
   1026  0xFEDCBA9876543210n,
   1027  'The result of (-0xFEDCBA9876543210n / -0x1n) is 0xFEDCBA9876543210n'
   1028 );
   1029 
   1030 assert.sameValue(
   1031  -0xFEDCBA9876543210n / -0x2n,
   1032  0x7F6E5D4C3B2A1908n,
   1033  'The result of (-0xFEDCBA9876543210n / -0x2n) is 0x7F6E5D4C3B2A1908n'
   1034 );
   1035 
   1036 assert.sameValue(
   1037  -0xFEDCBA9876543210n / -0x3n,
   1038  0x54F43E32D21C10B0n,
   1039  'The result of (-0xFEDCBA9876543210n / -0x3n) is 0x54F43E32D21C10B0n'
   1040 );
   1041 
   1042 assert.sameValue(
   1043  -0xFEDCBA9876543210n / -0x1234n,
   1044  0xE0042813BE5DCn,
   1045  'The result of (-0xFEDCBA9876543210n / -0x1234n) is 0xE0042813BE5DCn'
   1046 );
   1047 
   1048 assert.sameValue(
   1049  -0xFEDCBA9876543210n / -0xFEDCBA97n,
   1050  0x100000001n,
   1051  'The result of (-0xFEDCBA9876543210n / -0xFEDCBA97n) is 0x100000001n'
   1052 );
   1053 
   1054 assert.sameValue(
   1055  -0xFEDCBA9876543210n / -0xFEDCBA98n,
   1056  0x100000000n,
   1057  'The result of (-0xFEDCBA9876543210n / -0xFEDCBA98n) is 0x100000000n'
   1058 );
   1059 
   1060 assert.sameValue(
   1061  -0xFEDCBA9876543210n / -0xFEDCBA987654320Fn,
   1062  0x1n,
   1063  'The result of (-0xFEDCBA9876543210n / -0xFEDCBA987654320Fn) is 0x1n'
   1064 );
   1065 
   1066 assert.sameValue(
   1067  -0xFEDCBA9876543210n / -0xFEDCBA9876543210n,
   1068  0x1n,
   1069  'The result of (-0xFEDCBA9876543210n / -0xFEDCBA9876543210n) is 0x1n'
   1070 );
   1071 
   1072 reportCompare(0, 0);