bigint-xor-64-fold.js (16340B)
1 const tests = [ 2 [-0x8000000000000000n, -2n, 0x7ffffffffffffffen], 3 [-0x7fffffffffffffffn, -2n, 0x7fffffffffffffffn], 4 [-0x7ffffffffffffffen, -2n, 0x7ffffffffffffffcn], 5 [-0x100000001n, -2n, 0x100000001n], 6 [-0x100000000n, -2n, 0xfffffffen], 7 [-0xffffffffn, -2n, 0xffffffffn], 8 [-0xfffffffen, -2n, 0xfffffffcn], 9 [-0x80000001n, -2n, 0x80000001n], 10 [-0x80000000n, -2n, 0x7ffffffen], 11 [-0x7fffffffn, -2n, 0x7fffffffn], 12 [-0x7ffffffen, -2n, 0x7ffffffcn], 13 [-2n, -2n, 0n], 14 [-1n, -2n, 1n], 15 [0n, -2n, -2n], 16 [1n, -2n, -1n], 17 [2n, -2n, -4n], 18 [0x7ffffffen, -2n, -0x80000000n], 19 [0x7fffffffn, -2n, -0x7fffffffn], 20 [0x80000000n, -2n, -0x80000002n], 21 [0x80000001n, -2n, -0x80000001n], 22 [0xfffffffen, -2n, -0x100000000n], 23 [0xffffffffn, -2n, -0xffffffffn], 24 [0x100000000n, -2n, -0x100000002n], 25 [0x100000001n, -2n, -0x100000001n], 26 [0x7ffffffffffffffen, -2n, -0x8000000000000000n], 27 [0x7fffffffffffffffn, -2n, -0x7fffffffffffffffn], 28 [-0x8000000000000000n, -1n, 0x7fffffffffffffffn], 29 [-0x7fffffffffffffffn, -1n, 0x7ffffffffffffffen], 30 [-0x7ffffffffffffffen, -1n, 0x7ffffffffffffffdn], 31 [-0x100000001n, -1n, 0x100000000n], 32 [-0x100000000n, -1n, 0xffffffffn], 33 [-0xffffffffn, -1n, 0xfffffffen], 34 [-0xfffffffen, -1n, 0xfffffffdn], 35 [-0x80000001n, -1n, 0x80000000n], 36 [-0x80000000n, -1n, 0x7fffffffn], 37 [-0x7fffffffn, -1n, 0x7ffffffen], 38 [-0x7ffffffen, -1n, 0x7ffffffdn], 39 [-1n, -1n, 0n], 40 [0n, -1n, -1n], 41 [1n, -1n, -2n], 42 [2n, -1n, -3n], 43 [0x7ffffffen, -1n, -0x7fffffffn], 44 [0x7fffffffn, -1n, -0x80000000n], 45 [0x80000000n, -1n, -0x80000001n], 46 [0x80000001n, -1n, -0x80000002n], 47 [0xfffffffen, -1n, -0xffffffffn], 48 [0xffffffffn, -1n, -0x100000000n], 49 [0x100000000n, -1n, -0x100000001n], 50 [0x100000001n, -1n, -0x100000002n], 51 [0x7ffffffffffffffen, -1n, -0x7fffffffffffffffn], 52 [0x7fffffffffffffffn, -1n, -0x8000000000000000n], 53 [-0x8000000000000000n, 0n, -0x8000000000000000n], 54 [-0x7fffffffffffffffn, 0n, -0x7fffffffffffffffn], 55 [-0x7ffffffffffffffen, 0n, -0x7ffffffffffffffen], 56 [-0x100000001n, 0n, -0x100000001n], 57 [-0x100000000n, 0n, -0x100000000n], 58 [-0xffffffffn, 0n, -0xffffffffn], 59 [-0xfffffffen, 0n, -0xfffffffen], 60 [-0x80000001n, 0n, -0x80000001n], 61 [-0x80000000n, 0n, -0x80000000n], 62 [-0x7fffffffn, 0n, -0x7fffffffn], 63 [-0x7ffffffen, 0n, -0x7ffffffen], 64 [0n, 0n, 0n], 65 [1n, 0n, 1n], 66 [2n, 0n, 2n], 67 [0x7ffffffen, 0n, 0x7ffffffen], 68 [0x7fffffffn, 0n, 0x7fffffffn], 69 [0x80000000n, 0n, 0x80000000n], 70 [0x80000001n, 0n, 0x80000001n], 71 [0xfffffffen, 0n, 0xfffffffen], 72 [0xffffffffn, 0n, 0xffffffffn], 73 [0x100000000n, 0n, 0x100000000n], 74 [0x100000001n, 0n, 0x100000001n], 75 [0x7ffffffffffffffen, 0n, 0x7ffffffffffffffen], 76 [0x7fffffffffffffffn, 0n, 0x7fffffffffffffffn], 77 [-0x8000000000000000n, 1n, -0x7fffffffffffffffn], 78 [-0x7fffffffffffffffn, 1n, -0x8000000000000000n], 79 [-0x7ffffffffffffffen, 1n, -0x7ffffffffffffffdn], 80 [-0x100000001n, 1n, -0x100000002n], 81 [-0x100000000n, 1n, -0xffffffffn], 82 [-0xffffffffn, 1n, -0x100000000n], 83 [-0xfffffffen, 1n, -0xfffffffdn], 84 [-0x80000001n, 1n, -0x80000002n], 85 [-0x80000000n, 1n, -0x7fffffffn], 86 [-0x7fffffffn, 1n, -0x80000000n], 87 [-0x7ffffffen, 1n, -0x7ffffffdn], 88 [1n, 1n, 0n], 89 [2n, 1n, 3n], 90 [0x7ffffffen, 1n, 0x7fffffffn], 91 [0x7fffffffn, 1n, 0x7ffffffen], 92 [0x80000000n, 1n, 0x80000001n], 93 [0x80000001n, 1n, 0x80000000n], 94 [0xfffffffen, 1n, 0xffffffffn], 95 [0xffffffffn, 1n, 0xfffffffen], 96 [0x100000000n, 1n, 0x100000001n], 97 [0x100000001n, 1n, 0x100000000n], 98 [0x7ffffffffffffffen, 1n, 0x7fffffffffffffffn], 99 [0x7fffffffffffffffn, 1n, 0x7ffffffffffffffen], 100 [-0x8000000000000000n, 2n, -0x7ffffffffffffffen], 101 [-0x7fffffffffffffffn, 2n, -0x7ffffffffffffffdn], 102 [-0x7ffffffffffffffen, 2n, -0x8000000000000000n], 103 [-0x100000001n, 2n, -0x100000003n], 104 [-0x100000000n, 2n, -0xfffffffen], 105 [-0xffffffffn, 2n, -0xfffffffdn], 106 [-0xfffffffen, 2n, -0x100000000n], 107 [-0x80000001n, 2n, -0x80000003n], 108 [-0x80000000n, 2n, -0x7ffffffen], 109 [-0x7fffffffn, 2n, -0x7ffffffdn], 110 [-0x7ffffffen, 2n, -0x80000000n], 111 [2n, 2n, 0n], 112 [0x7ffffffen, 2n, 0x7ffffffcn], 113 [0x7fffffffn, 2n, 0x7ffffffdn], 114 [0x80000000n, 2n, 0x80000002n], 115 [0x80000001n, 2n, 0x80000003n], 116 [0xfffffffen, 2n, 0xfffffffcn], 117 [0xffffffffn, 2n, 0xfffffffdn], 118 [0x100000000n, 2n, 0x100000002n], 119 [0x100000001n, 2n, 0x100000003n], 120 [0x7ffffffffffffffen, 2n, 0x7ffffffffffffffcn], 121 [0x7fffffffffffffffn, 2n, 0x7ffffffffffffffdn], 122 [-0x8000000000000000n, 0x7ffffffen, -0x7fffffff80000002n], 123 [-0x7fffffffffffffffn, 0x7ffffffen, -0x7fffffff80000001n], 124 [-0x7ffffffffffffffen, 0x7ffffffen, -0x7fffffff80000004n], 125 [-0x100000001n, 0x7ffffffen, -0x17fffffffn], 126 [-0x100000000n, 0x7ffffffen, -0x80000002n], 127 [-0xffffffffn, 0x7ffffffen, -0x80000001n], 128 [-0xfffffffen, 0x7ffffffen, -0x80000004n], 129 [-0x80000001n, 0x7ffffffen, -0xffffffffn], 130 [-0x80000000n, 0x7ffffffen, -2n], 131 [-0x7fffffffn, 0x7ffffffen, -1n], 132 [-0x7ffffffen, 0x7ffffffen, -4n], 133 [0x7ffffffen, 0x7ffffffen, 0n], 134 [0x7fffffffn, 0x7ffffffen, 1n], 135 [0x80000000n, 0x7ffffffen, 0xfffffffen], 136 [0x80000001n, 0x7ffffffen, 0xffffffffn], 137 [0xfffffffen, 0x7ffffffen, 0x80000000n], 138 [0xffffffffn, 0x7ffffffen, 0x80000001n], 139 [0x100000000n, 0x7ffffffen, 0x17ffffffen], 140 [0x100000001n, 0x7ffffffen, 0x17fffffffn], 141 [0x7ffffffffffffffen, 0x7ffffffen, 0x7fffffff80000000n], 142 [0x7fffffffffffffffn, 0x7ffffffen, 0x7fffffff80000001n], 143 [-0x8000000000000000n, 0x7fffffffn, -0x7fffffff80000001n], 144 [-0x7fffffffffffffffn, 0x7fffffffn, -0x7fffffff80000002n], 145 [-0x7ffffffffffffffen, 0x7fffffffn, -0x7fffffff80000003n], 146 [-0x100000001n, 0x7fffffffn, -0x180000000n], 147 [-0x100000000n, 0x7fffffffn, -0x80000001n], 148 [-0xffffffffn, 0x7fffffffn, -0x80000002n], 149 [-0xfffffffen, 0x7fffffffn, -0x80000003n], 150 [-0x80000001n, 0x7fffffffn, -0x100000000n], 151 [-0x80000000n, 0x7fffffffn, -1n], 152 [-0x7fffffffn, 0x7fffffffn, -2n], 153 [-0x7ffffffen, 0x7fffffffn, -3n], 154 [0x7fffffffn, 0x7fffffffn, 0n], 155 [0x80000000n, 0x7fffffffn, 0xffffffffn], 156 [0x80000001n, 0x7fffffffn, 0xfffffffen], 157 [0xfffffffen, 0x7fffffffn, 0x80000001n], 158 [0xffffffffn, 0x7fffffffn, 0x80000000n], 159 [0x100000000n, 0x7fffffffn, 0x17fffffffn], 160 [0x100000001n, 0x7fffffffn, 0x17ffffffen], 161 [0x7ffffffffffffffen, 0x7fffffffn, 0x7fffffff80000001n], 162 [0x7fffffffffffffffn, 0x7fffffffn, 0x7fffffff80000000n], 163 [-0x8000000000000000n, 0x80000000n, -0x7fffffff80000000n], 164 [-0x7fffffffffffffffn, 0x80000000n, -0x7fffffff7fffffffn], 165 [-0x7ffffffffffffffen, 0x80000000n, -0x7fffffff7ffffffen], 166 [-0x100000001n, 0x80000000n, -0x180000001n], 167 [-0x100000000n, 0x80000000n, -0x80000000n], 168 [-0xffffffffn, 0x80000000n, -0x7fffffffn], 169 [-0xfffffffen, 0x80000000n, -0x7ffffffen], 170 [-0x80000001n, 0x80000000n, -1n], 171 [-0x80000000n, 0x80000000n, -0x100000000n], 172 [-0x7fffffffn, 0x80000000n, -0xffffffffn], 173 [-0x7ffffffen, 0x80000000n, -0xfffffffen], 174 [0x80000000n, 0x80000000n, 0n], 175 [0x80000001n, 0x80000000n, 1n], 176 [0xfffffffen, 0x80000000n, 0x7ffffffen], 177 [0xffffffffn, 0x80000000n, 0x7fffffffn], 178 [0x100000000n, 0x80000000n, 0x180000000n], 179 [0x100000001n, 0x80000000n, 0x180000001n], 180 [0x7ffffffffffffffen, 0x80000000n, 0x7fffffff7ffffffen], 181 [0x7fffffffffffffffn, 0x80000000n, 0x7fffffff7fffffffn], 182 [-0x8000000000000000n, 0x80000001n, -0x7fffffff7fffffffn], 183 [-0x7fffffffffffffffn, 0x80000001n, -0x7fffffff80000000n], 184 [-0x7ffffffffffffffen, 0x80000001n, -0x7fffffff7ffffffdn], 185 [-0x100000001n, 0x80000001n, -0x180000002n], 186 [-0x100000000n, 0x80000001n, -0x7fffffffn], 187 [-0xffffffffn, 0x80000001n, -0x80000000n], 188 [-0xfffffffen, 0x80000001n, -0x7ffffffdn], 189 [-0x80000001n, 0x80000001n, -2n], 190 [-0x80000000n, 0x80000001n, -0xffffffffn], 191 [-0x7fffffffn, 0x80000001n, -0x100000000n], 192 [-0x7ffffffen, 0x80000001n, -0xfffffffdn], 193 [0x80000001n, 0x80000001n, 0n], 194 [0xfffffffen, 0x80000001n, 0x7fffffffn], 195 [0xffffffffn, 0x80000001n, 0x7ffffffen], 196 [0x100000000n, 0x80000001n, 0x180000001n], 197 [0x100000001n, 0x80000001n, 0x180000000n], 198 [0x7ffffffffffffffen, 0x80000001n, 0x7fffffff7fffffffn], 199 [0x7fffffffffffffffn, 0x80000001n, 0x7fffffff7ffffffen], 200 [-0x8000000000000000n, -0x80000001n, 0x7fffffff7fffffffn], 201 [-0x7fffffffffffffffn, -0x80000001n, 0x7fffffff7ffffffen], 202 [-0x7ffffffffffffffen, -0x80000001n, 0x7fffffff7ffffffdn], 203 [-0x100000001n, -0x80000001n, 0x180000000n], 204 [-0x100000000n, -0x80000001n, 0x7fffffffn], 205 [-0xffffffffn, -0x80000001n, 0x7ffffffen], 206 [-0xfffffffen, -0x80000001n, 0x7ffffffdn], 207 [-0x80000001n, -0x80000001n, 0n], 208 [-0x80000000n, -0x80000001n, 0xffffffffn], 209 [-0x7fffffffn, -0x80000001n, 0xfffffffen], 210 [-0x7ffffffen, -0x80000001n, 0xfffffffdn], 211 [0xfffffffen, -0x80000001n, -0x7fffffffn], 212 [0xffffffffn, -0x80000001n, -0x80000000n], 213 [0x100000000n, -0x80000001n, -0x180000001n], 214 [0x100000001n, -0x80000001n, -0x180000002n], 215 [0x7ffffffffffffffen, -0x80000001n, -0x7fffffff7fffffffn], 216 [0x7fffffffffffffffn, -0x80000001n, -0x7fffffff80000000n], 217 [-0x8000000000000000n, -0x80000000n, 0x7fffffff80000000n], 218 [-0x7fffffffffffffffn, -0x80000000n, 0x7fffffff80000001n], 219 [-0x7ffffffffffffffen, -0x80000000n, 0x7fffffff80000002n], 220 [-0x100000001n, -0x80000000n, 0x17fffffffn], 221 [-0x100000000n, -0x80000000n, 0x80000000n], 222 [-0xffffffffn, -0x80000000n, 0x80000001n], 223 [-0xfffffffen, -0x80000000n, 0x80000002n], 224 [-0x80000000n, -0x80000000n, 0n], 225 [-0x7fffffffn, -0x80000000n, 1n], 226 [-0x7ffffffen, -0x80000000n, 2n], 227 [0xfffffffen, -0x80000000n, -0x80000002n], 228 [0xffffffffn, -0x80000000n, -0x80000001n], 229 [0x100000000n, -0x80000000n, -0x180000000n], 230 [0x100000001n, -0x80000000n, -0x17fffffffn], 231 [0x7ffffffffffffffen, -0x80000000n, -0x7fffffff80000002n], 232 [0x7fffffffffffffffn, -0x80000000n, -0x7fffffff80000001n], 233 [-0x8000000000000000n, -0x7fffffffn, 0x7fffffff80000001n], 234 [-0x7fffffffffffffffn, -0x7fffffffn, 0x7fffffff80000000n], 235 [-0x7ffffffffffffffen, -0x7fffffffn, 0x7fffffff80000003n], 236 [-0x100000001n, -0x7fffffffn, 0x17ffffffen], 237 [-0x100000000n, -0x7fffffffn, 0x80000001n], 238 [-0xffffffffn, -0x7fffffffn, 0x80000000n], 239 [-0xfffffffen, -0x7fffffffn, 0x80000003n], 240 [-0x7fffffffn, -0x7fffffffn, 0n], 241 [-0x7ffffffen, -0x7fffffffn, 3n], 242 [0xfffffffen, -0x7fffffffn, -0x80000001n], 243 [0xffffffffn, -0x7fffffffn, -0x80000002n], 244 [0x100000000n, -0x7fffffffn, -0x17fffffffn], 245 [0x100000001n, -0x7fffffffn, -0x180000000n], 246 [0x7ffffffffffffffen, -0x7fffffffn, -0x7fffffff80000001n], 247 [0x7fffffffffffffffn, -0x7fffffffn, -0x7fffffff80000002n], 248 [-0x8000000000000000n, -0x7ffffffen, 0x7fffffff80000002n], 249 [-0x7fffffffffffffffn, -0x7ffffffen, 0x7fffffff80000003n], 250 [-0x7ffffffffffffffen, -0x7ffffffen, 0x7fffffff80000000n], 251 [-0x100000001n, -0x7ffffffen, 0x17ffffffdn], 252 [-0x100000000n, -0x7ffffffen, 0x80000002n], 253 [-0xffffffffn, -0x7ffffffen, 0x80000003n], 254 [-0xfffffffen, -0x7ffffffen, 0x80000000n], 255 [-0x7ffffffen, -0x7ffffffen, 0n], 256 [0xfffffffen, -0x7ffffffen, -0x80000004n], 257 [0xffffffffn, -0x7ffffffen, -0x80000003n], 258 [0x100000000n, -0x7ffffffen, -0x17ffffffen], 259 [0x100000001n, -0x7ffffffen, -0x17ffffffdn], 260 [0x7ffffffffffffffen, -0x7ffffffen, -0x7fffffff80000004n], 261 [0x7fffffffffffffffn, -0x7ffffffen, -0x7fffffff80000003n], 262 [-0x8000000000000000n, 0xfffffffen, -0x7fffffff00000002n], 263 [-0x7fffffffffffffffn, 0xfffffffen, -0x7fffffff00000001n], 264 [-0x7ffffffffffffffen, 0xfffffffen, -0x7fffffff00000004n], 265 [-0x100000001n, 0xfffffffen, -0x1ffffffffn], 266 [-0x100000000n, 0xfffffffen, -2n], 267 [-0xffffffffn, 0xfffffffen, -1n], 268 [-0xfffffffen, 0xfffffffen, -4n], 269 [0xfffffffen, 0xfffffffen, 0n], 270 [0xffffffffn, 0xfffffffen, 1n], 271 [0x100000000n, 0xfffffffen, 0x1fffffffen], 272 [0x100000001n, 0xfffffffen, 0x1ffffffffn], 273 [0x7ffffffffffffffen, 0xfffffffen, 0x7fffffff00000000n], 274 [0x7fffffffffffffffn, 0xfffffffen, 0x7fffffff00000001n], 275 [-0x8000000000000000n, 0xffffffffn, -0x7fffffff00000001n], 276 [-0x7fffffffffffffffn, 0xffffffffn, -0x7fffffff00000002n], 277 [-0x7ffffffffffffffen, 0xffffffffn, -0x7fffffff00000003n], 278 [-0x100000001n, 0xffffffffn, -0x200000000n], 279 [-0x100000000n, 0xffffffffn, -1n], 280 [-0xffffffffn, 0xffffffffn, -2n], 281 [-0xfffffffen, 0xffffffffn, -3n], 282 [0xffffffffn, 0xffffffffn, 0n], 283 [0x100000000n, 0xffffffffn, 0x1ffffffffn], 284 [0x100000001n, 0xffffffffn, 0x1fffffffen], 285 [0x7ffffffffffffffen, 0xffffffffn, 0x7fffffff00000001n], 286 [0x7fffffffffffffffn, 0xffffffffn, 0x7fffffff00000000n], 287 [-0x8000000000000000n, 0x100000000n, -0x7fffffff00000000n], 288 [-0x7fffffffffffffffn, 0x100000000n, -0x7ffffffeffffffffn], 289 [-0x7ffffffffffffffen, 0x100000000n, -0x7ffffffefffffffen], 290 [-0x100000001n, 0x100000000n, -1n], 291 [-0x100000000n, 0x100000000n, -0x200000000n], 292 [-0xffffffffn, 0x100000000n, -0x1ffffffffn], 293 [-0xfffffffen, 0x100000000n, -0x1fffffffen], 294 [0x100000000n, 0x100000000n, 0n], 295 [0x100000001n, 0x100000000n, 1n], 296 [0x7ffffffffffffffen, 0x100000000n, 0x7ffffffefffffffen], 297 [0x7fffffffffffffffn, 0x100000000n, 0x7ffffffeffffffffn], 298 [-0x8000000000000000n, 0x100000001n, -0x7ffffffeffffffffn], 299 [-0x7fffffffffffffffn, 0x100000001n, -0x7fffffff00000000n], 300 [-0x7ffffffffffffffen, 0x100000001n, -0x7ffffffefffffffdn], 301 [-0x100000001n, 0x100000001n, -2n], 302 [-0x100000000n, 0x100000001n, -0x1ffffffffn], 303 [-0xffffffffn, 0x100000001n, -0x200000000n], 304 [-0xfffffffen, 0x100000001n, -0x1fffffffdn], 305 [0x100000001n, 0x100000001n, 0n], 306 [0x7ffffffffffffffen, 0x100000001n, 0x7ffffffeffffffffn], 307 [0x7fffffffffffffffn, 0x100000001n, 0x7ffffffefffffffen], 308 [-0x8000000000000000n, -0x100000001n, 0x7ffffffeffffffffn], 309 [-0x7fffffffffffffffn, -0x100000001n, 0x7ffffffefffffffen], 310 [-0x7ffffffffffffffen, -0x100000001n, 0x7ffffffefffffffdn], 311 [-0x100000001n, -0x100000001n, 0n], 312 [-0x100000000n, -0x100000001n, 0x1ffffffffn], 313 [-0xffffffffn, -0x100000001n, 0x1fffffffen], 314 [-0xfffffffen, -0x100000001n, 0x1fffffffdn], 315 [0x7ffffffffffffffen, -0x100000001n, -0x7ffffffeffffffffn], 316 [0x7fffffffffffffffn, -0x100000001n, -0x7fffffff00000000n], 317 [-0x8000000000000000n, -0x100000000n, 0x7fffffff00000000n], 318 [-0x7fffffffffffffffn, -0x100000000n, 0x7fffffff00000001n], 319 [-0x7ffffffffffffffen, -0x100000000n, 0x7fffffff00000002n], 320 [-0x100000000n, -0x100000000n, 0n], 321 [-0xffffffffn, -0x100000000n, 1n], 322 [-0xfffffffen, -0x100000000n, 2n], 323 [0x7ffffffffffffffen, -0x100000000n, -0x7fffffff00000002n], 324 [0x7fffffffffffffffn, -0x100000000n, -0x7fffffff00000001n], 325 [-0x8000000000000000n, -0xffffffffn, 0x7fffffff00000001n], 326 [-0x7fffffffffffffffn, -0xffffffffn, 0x7fffffff00000000n], 327 [-0x7ffffffffffffffen, -0xffffffffn, 0x7fffffff00000003n], 328 [-0xffffffffn, -0xffffffffn, 0n], 329 [-0xfffffffen, -0xffffffffn, 3n], 330 [0x7ffffffffffffffen, -0xffffffffn, -0x7fffffff00000001n], 331 [0x7fffffffffffffffn, -0xffffffffn, -0x7fffffff00000002n], 332 [-0x8000000000000000n, -0xfffffffen, 0x7fffffff00000002n], 333 [-0x7fffffffffffffffn, -0xfffffffen, 0x7fffffff00000003n], 334 [-0x7ffffffffffffffen, -0xfffffffen, 0x7fffffff00000000n], 335 [-0xfffffffen, -0xfffffffen, 0n], 336 [0x7ffffffffffffffen, -0xfffffffen, -0x7fffffff00000004n], 337 [0x7fffffffffffffffn, -0xfffffffen, -0x7fffffff00000003n], 338 [-0x8000000000000000n, 0x7ffffffffffffffen, -2n], 339 [-0x7fffffffffffffffn, 0x7ffffffffffffffen, -1n], 340 [-0x7ffffffffffffffen, 0x7ffffffffffffffen, -4n], 341 [0x7ffffffffffffffen, 0x7ffffffffffffffen, 0n], 342 [0x7fffffffffffffffn, 0x7ffffffffffffffen, 1n], 343 [-0x8000000000000000n, 0x7fffffffffffffffn, -1n], 344 [-0x7fffffffffffffffn, 0x7fffffffffffffffn, -2n], 345 [-0x7ffffffffffffffen, 0x7fffffffffffffffn, -3n], 346 [0x7fffffffffffffffn, 0x7fffffffffffffffn, 0n], 347 [-0x8000000000000000n, -0x8000000000000000n, 0n], 348 [-0x7fffffffffffffffn, -0x8000000000000000n, 1n], 349 [-0x7ffffffffffffffen, -0x8000000000000000n, 2n], 350 [-0x7fffffffffffffffn, -0x7fffffffffffffffn, 0n], 351 [-0x7ffffffffffffffen, -0x7fffffffffffffffn, 3n], 352 [-0x7ffffffffffffffen, -0x7ffffffffffffffen, 0n], 353 ]; 354 355 function f(tests) { 356 for (let test of tests) { 357 let lhs = test[0], rhs = test[1], expected = test[2]; 358 assertEq(BigInt.asIntN(64, lhs), lhs); 359 assertEq(BigInt.asIntN(64, rhs), rhs); 360 assertEq(BigInt.asIntN(64, expected), expected); 361 362 let f = Function(` 363 let lhs = ${lhs}n; 364 let rhs = ${rhs}n; 365 assertEq(lhs ^ rhs, ${expected}n); 366 assertEq(rhs ^ lhs, ${expected}n); 367 `); 368 369 for (let j = 0; j < 100; ++j) { 370 f(); 371 } 372 } 373 } 374 375 f(tests);