%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../../common'); const assert = require('assert'); const { IsLossless, TestInt64, TestUint64, TestWords, CreateTooBigBigInt, MakeBigIntWordsThrow, } = require(`./build/${common.buildType}/test_bigint`); [ 0n, -0n, 1n, -1n, 100n, 2121n, -1233n, 986583n, -976675n, 98765432213456789876546896323445679887645323232436587988766545658n, -4350987086545760976737453646576078997096876957864353245245769809n, ].forEach((num) => { if (num > -(2n ** 63n) && num < 2n ** 63n) { assert.strictEqual(TestInt64(num), num); assert.strictEqual(IsLossless(num, true), true); } else { assert.strictEqual(IsLossless(num, true), false); } if (num >= 0 && num < 2n ** 64n) { assert.strictEqual(TestUint64(num), num); assert.strictEqual(IsLossless(num, false), true); } else { assert.strictEqual(IsLossless(num, false), false); } assert.strictEqual(num, TestWords(num)); }); assert.throws(() => CreateTooBigBigInt(), { name: 'Error', message: 'Invalid argument', }); // Test that we correctly forward exceptions from the engine. assert.throws(() => MakeBigIntWordsThrow(), { name: 'RangeError', message: 'Maximum BigInt size exceeded' });