diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/modulus/bigint-arithmetic.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/modulus/bigint-arithmetic.js | 986 |
1 files changed, 986 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/modulus/bigint-arithmetic.js b/js/src/tests/test262/language/expressions/modulus/bigint-arithmetic.js new file mode 100644 index 0000000000..1960b2036d --- /dev/null +++ b/js/src/tests/test262/language/expressions/modulus/bigint-arithmetic.js @@ -0,0 +1,986 @@ +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-multiplicative-operators-runtime-semantics-evaluation +description: BigInt remainder arithmetic +features: [BigInt] +---*/ +assert.sameValue( + 0xFEDCBA9876543210n % 0xFEDCBA9876543210n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % 0xFEDCBA9876543210n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0xFEDCBA987654320Fn, + 0x1n, + 'The result of (0xFEDCBA9876543210n % 0xFEDCBA987654320Fn) is 0x1n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0xFEDCBA98n, + 0x76543210n, + 'The result of (0xFEDCBA9876543210n % 0xFEDCBA98n) is 0x76543210n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0xFEDCBA97n, + 0x77777779n, + 'The result of (0xFEDCBA9876543210n % 0xFEDCBA97n) is 0x77777779n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0x1234n, + 0x960n, + 'The result of (0xFEDCBA9876543210n % 0x1234n) is 0x960n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0x3n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % 0x3n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0x2n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % 0x2n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % 0x1n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % 0x1n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0x1n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % -0x1n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0x2n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % -0x2n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0x3n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % -0x3n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0x1234n, + 0x960n, + 'The result of (0xFEDCBA9876543210n % -0x1234n) is 0x960n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0xFEDCBA97n, + 0x77777779n, + 'The result of (0xFEDCBA9876543210n % -0xFEDCBA97n) is 0x77777779n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0xFEDCBA98n, + 0x76543210n, + 'The result of (0xFEDCBA9876543210n % -0xFEDCBA98n) is 0x76543210n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0xFEDCBA987654320Fn, + 0x1n, + 'The result of (0xFEDCBA9876543210n % -0xFEDCBA987654320Fn) is 0x1n' +); + +assert.sameValue( + 0xFEDCBA9876543210n % -0xFEDCBA9876543210n, + 0x0n, + 'The result of (0xFEDCBA9876543210n % -0xFEDCBA9876543210n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0xFEDCBA9876543210n, + 0xFEDCBA987654320Fn, + 'The result of (0xFEDCBA987654320Fn % 0xFEDCBA9876543210n) is 0xFEDCBA987654320Fn' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0xFEDCBA987654320Fn, + 0x0n, + 'The result of (0xFEDCBA987654320Fn % 0xFEDCBA987654320Fn) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0xFEDCBA98n, + 0x7654320Fn, + 'The result of (0xFEDCBA987654320Fn % 0xFEDCBA98n) is 0x7654320Fn' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0xFEDCBA97n, + 0x77777778n, + 'The result of (0xFEDCBA987654320Fn % 0xFEDCBA97n) is 0x77777778n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0x1234n, + 0x95Fn, + 'The result of (0xFEDCBA987654320Fn % 0x1234n) is 0x95Fn' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0x3n, + 0x2n, + 'The result of (0xFEDCBA987654320Fn % 0x3n) is 0x2n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0x2n, + 0x1n, + 'The result of (0xFEDCBA987654320Fn % 0x2n) is 0x1n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % 0x1n, + 0x0n, + 'The result of (0xFEDCBA987654320Fn % 0x1n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0x1n, + 0x0n, + 'The result of (0xFEDCBA987654320Fn % -0x1n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0x2n, + 0x1n, + 'The result of (0xFEDCBA987654320Fn % -0x2n) is 0x1n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0x3n, + 0x2n, + 'The result of (0xFEDCBA987654320Fn % -0x3n) is 0x2n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0x1234n, + 0x95Fn, + 'The result of (0xFEDCBA987654320Fn % -0x1234n) is 0x95Fn' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0xFEDCBA97n, + 0x77777778n, + 'The result of (0xFEDCBA987654320Fn % -0xFEDCBA97n) is 0x77777778n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0xFEDCBA98n, + 0x7654320Fn, + 'The result of (0xFEDCBA987654320Fn % -0xFEDCBA98n) is 0x7654320Fn' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0xFEDCBA987654320Fn, + 0x0n, + 'The result of (0xFEDCBA987654320Fn % -0xFEDCBA987654320Fn) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA987654320Fn % -0xFEDCBA9876543210n, + 0xFEDCBA987654320Fn, + 'The result of (0xFEDCBA987654320Fn % -0xFEDCBA9876543210n) is 0xFEDCBA987654320Fn' +); + +assert.sameValue( + 0xFEDCBA98n % 0xFEDCBA9876543210n, + 0xFEDCBA98n, + 'The result of (0xFEDCBA98n % 0xFEDCBA9876543210n) is 0xFEDCBA98n' +); + +assert.sameValue( + 0xFEDCBA98n % 0xFEDCBA987654320Fn, + 0xFEDCBA98n, + 'The result of (0xFEDCBA98n % 0xFEDCBA987654320Fn) is 0xFEDCBA98n' +); + +assert.sameValue( + 0xFEDCBA98n % 0xFEDCBA98n, + 0x0n, + 'The result of (0xFEDCBA98n % 0xFEDCBA98n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA98n % 0xFEDCBA97n, + 0x1n, + 'The result of (0xFEDCBA98n % 0xFEDCBA97n) is 0x1n' +); + +assert.sameValue(0xFEDCBA98n % 0x1234n, 0x930n, 'The result of (0xFEDCBA98n % 0x1234n) is 0x930n'); +assert.sameValue(0xFEDCBA98n % 0x3n, 0x2n, 'The result of (0xFEDCBA98n % 0x3n) is 0x2n'); +assert.sameValue(0xFEDCBA98n % 0x2n, 0x0n, 'The result of (0xFEDCBA98n % 0x2n) is 0x0n'); +assert.sameValue(0xFEDCBA98n % 0x1n, 0x0n, 'The result of (0xFEDCBA98n % 0x1n) is 0x0n'); +assert.sameValue(0xFEDCBA98n % -0x1n, 0x0n, 'The result of (0xFEDCBA98n % -0x1n) is 0x0n'); +assert.sameValue(0xFEDCBA98n % -0x2n, 0x0n, 'The result of (0xFEDCBA98n % -0x2n) is 0x0n'); +assert.sameValue(0xFEDCBA98n % -0x3n, 0x2n, 'The result of (0xFEDCBA98n % -0x3n) is 0x2n'); + +assert.sameValue( + 0xFEDCBA98n % -0x1234n, + 0x930n, + 'The result of (0xFEDCBA98n % -0x1234n) is 0x930n' +); + +assert.sameValue( + 0xFEDCBA98n % -0xFEDCBA97n, + 0x1n, + 'The result of (0xFEDCBA98n % -0xFEDCBA97n) is 0x1n' +); + +assert.sameValue( + 0xFEDCBA98n % -0xFEDCBA98n, + 0x0n, + 'The result of (0xFEDCBA98n % -0xFEDCBA98n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA98n % -0xFEDCBA987654320Fn, + 0xFEDCBA98n, + 'The result of (0xFEDCBA98n % -0xFEDCBA987654320Fn) is 0xFEDCBA98n' +); + +assert.sameValue( + 0xFEDCBA98n % -0xFEDCBA9876543210n, + 0xFEDCBA98n, + 'The result of (0xFEDCBA98n % -0xFEDCBA9876543210n) is 0xFEDCBA98n' +); + +assert.sameValue( + 0xFEDCBA97n % 0xFEDCBA9876543210n, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % 0xFEDCBA9876543210n) is 0xFEDCBA97n' +); + +assert.sameValue( + 0xFEDCBA97n % 0xFEDCBA987654320Fn, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % 0xFEDCBA987654320Fn) is 0xFEDCBA97n' +); + +assert.sameValue( + 0xFEDCBA97n % 0xFEDCBA98n, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % 0xFEDCBA98n) is 0xFEDCBA97n' +); + +assert.sameValue( + 0xFEDCBA97n % 0xFEDCBA97n, + 0x0n, + 'The result of (0xFEDCBA97n % 0xFEDCBA97n) is 0x0n' +); + +assert.sameValue(0xFEDCBA97n % 0x1234n, 0x92Fn, 'The result of (0xFEDCBA97n % 0x1234n) is 0x92Fn'); +assert.sameValue(0xFEDCBA97n % 0x3n, 0x1n, 'The result of (0xFEDCBA97n % 0x3n) is 0x1n'); +assert.sameValue(0xFEDCBA97n % 0x2n, 0x1n, 'The result of (0xFEDCBA97n % 0x2n) is 0x1n'); +assert.sameValue(0xFEDCBA97n % 0x1n, 0x0n, 'The result of (0xFEDCBA97n % 0x1n) is 0x0n'); +assert.sameValue(0xFEDCBA97n % -0x1n, 0x0n, 'The result of (0xFEDCBA97n % -0x1n) is 0x0n'); +assert.sameValue(0xFEDCBA97n % -0x2n, 0x1n, 'The result of (0xFEDCBA97n % -0x2n) is 0x1n'); +assert.sameValue(0xFEDCBA97n % -0x3n, 0x1n, 'The result of (0xFEDCBA97n % -0x3n) is 0x1n'); + +assert.sameValue( + 0xFEDCBA97n % -0x1234n, + 0x92Fn, + 'The result of (0xFEDCBA97n % -0x1234n) is 0x92Fn' +); + +assert.sameValue( + 0xFEDCBA97n % -0xFEDCBA97n, + 0x0n, + 'The result of (0xFEDCBA97n % -0xFEDCBA97n) is 0x0n' +); + +assert.sameValue( + 0xFEDCBA97n % -0xFEDCBA98n, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % -0xFEDCBA98n) is 0xFEDCBA97n' +); + +assert.sameValue( + 0xFEDCBA97n % -0xFEDCBA987654320Fn, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % -0xFEDCBA987654320Fn) is 0xFEDCBA97n' +); + +assert.sameValue( + 0xFEDCBA97n % -0xFEDCBA9876543210n, + 0xFEDCBA97n, + 'The result of (0xFEDCBA97n % -0xFEDCBA9876543210n) is 0xFEDCBA97n' +); + +assert.sameValue( + 0x1234n % 0xFEDCBA9876543210n, + 0x1234n, + 'The result of (0x1234n % 0xFEDCBA9876543210n) is 0x1234n' +); + +assert.sameValue( + 0x1234n % 0xFEDCBA987654320Fn, + 0x1234n, + 'The result of (0x1234n % 0xFEDCBA987654320Fn) is 0x1234n' +); + +assert.sameValue( + 0x1234n % 0xFEDCBA98n, + 0x1234n, + 'The result of (0x1234n % 0xFEDCBA98n) is 0x1234n' +); + +assert.sameValue( + 0x1234n % 0xFEDCBA97n, + 0x1234n, + 'The result of (0x1234n % 0xFEDCBA97n) is 0x1234n' +); + +assert.sameValue(0x1234n % 0x1234n, 0x0n, 'The result of (0x1234n % 0x1234n) is 0x0n'); +assert.sameValue(0x1234n % 0x3n, 0x1n, 'The result of (0x1234n % 0x3n) is 0x1n'); +assert.sameValue(0x1234n % 0x2n, 0x0n, 'The result of (0x1234n % 0x2n) is 0x0n'); +assert.sameValue(0x1234n % 0x1n, 0x0n, 'The result of (0x1234n % 0x1n) is 0x0n'); +assert.sameValue(0x1234n % -0x1n, 0x0n, 'The result of (0x1234n % -0x1n) is 0x0n'); +assert.sameValue(0x1234n % -0x2n, 0x0n, 'The result of (0x1234n % -0x2n) is 0x0n'); +assert.sameValue(0x1234n % -0x3n, 0x1n, 'The result of (0x1234n % -0x3n) is 0x1n'); +assert.sameValue(0x1234n % -0x1234n, 0x0n, 'The result of (0x1234n % -0x1234n) is 0x0n'); + +assert.sameValue( + 0x1234n % -0xFEDCBA97n, + 0x1234n, + 'The result of (0x1234n % -0xFEDCBA97n) is 0x1234n' +); + +assert.sameValue( + 0x1234n % -0xFEDCBA98n, + 0x1234n, + 'The result of (0x1234n % -0xFEDCBA98n) is 0x1234n' +); + +assert.sameValue( + 0x1234n % -0xFEDCBA987654320Fn, + 0x1234n, + 'The result of (0x1234n % -0xFEDCBA987654320Fn) is 0x1234n' +); + +assert.sameValue( + 0x1234n % -0xFEDCBA9876543210n, + 0x1234n, + 'The result of (0x1234n % -0xFEDCBA9876543210n) is 0x1234n' +); + +assert.sameValue( + 0x3n % 0xFEDCBA9876543210n, + 0x3n, + 'The result of (0x3n % 0xFEDCBA9876543210n) is 0x3n' +); + +assert.sameValue( + 0x3n % 0xFEDCBA987654320Fn, + 0x3n, + 'The result of (0x3n % 0xFEDCBA987654320Fn) is 0x3n' +); + +assert.sameValue(0x3n % 0xFEDCBA98n, 0x3n, 'The result of (0x3n % 0xFEDCBA98n) is 0x3n'); +assert.sameValue(0x3n % 0xFEDCBA97n, 0x3n, 'The result of (0x3n % 0xFEDCBA97n) is 0x3n'); +assert.sameValue(0x3n % 0x1234n, 0x3n, 'The result of (0x3n % 0x1234n) is 0x3n'); +assert.sameValue(0x3n % 0x3n, 0x0n, 'The result of (0x3n % 0x3n) is 0x0n'); +assert.sameValue(0x3n % 0x2n, 0x1n, 'The result of (0x3n % 0x2n) is 0x1n'); +assert.sameValue(0x3n % 0x1n, 0x0n, 'The result of (0x3n % 0x1n) is 0x0n'); +assert.sameValue(0x3n % -0x1n, 0x0n, 'The result of (0x3n % -0x1n) is 0x0n'); +assert.sameValue(0x3n % -0x2n, 0x1n, 'The result of (0x3n % -0x2n) is 0x1n'); +assert.sameValue(0x3n % -0x3n, 0x0n, 'The result of (0x3n % -0x3n) is 0x0n'); +assert.sameValue(0x3n % -0x1234n, 0x3n, 'The result of (0x3n % -0x1234n) is 0x3n'); +assert.sameValue(0x3n % -0xFEDCBA97n, 0x3n, 'The result of (0x3n % -0xFEDCBA97n) is 0x3n'); +assert.sameValue(0x3n % -0xFEDCBA98n, 0x3n, 'The result of (0x3n % -0xFEDCBA98n) is 0x3n'); + +assert.sameValue( + 0x3n % -0xFEDCBA987654320Fn, + 0x3n, + 'The result of (0x3n % -0xFEDCBA987654320Fn) is 0x3n' +); + +assert.sameValue( + 0x3n % -0xFEDCBA9876543210n, + 0x3n, + 'The result of (0x3n % -0xFEDCBA9876543210n) is 0x3n' +); + +assert.sameValue( + 0x2n % 0xFEDCBA9876543210n, + 0x2n, + 'The result of (0x2n % 0xFEDCBA9876543210n) is 0x2n' +); + +assert.sameValue( + 0x2n % 0xFEDCBA987654320Fn, + 0x2n, + 'The result of (0x2n % 0xFEDCBA987654320Fn) is 0x2n' +); + +assert.sameValue(0x2n % 0xFEDCBA98n, 0x2n, 'The result of (0x2n % 0xFEDCBA98n) is 0x2n'); +assert.sameValue(0x2n % 0xFEDCBA97n, 0x2n, 'The result of (0x2n % 0xFEDCBA97n) is 0x2n'); +assert.sameValue(0x2n % 0x1234n, 0x2n, 'The result of (0x2n % 0x1234n) is 0x2n'); +assert.sameValue(0x2n % 0x3n, 0x2n, 'The result of (0x2n % 0x3n) is 0x2n'); +assert.sameValue(0x2n % 0x2n, 0x0n, 'The result of (0x2n % 0x2n) is 0x0n'); +assert.sameValue(0x2n % 0x1n, 0x0n, 'The result of (0x2n % 0x1n) is 0x0n'); +assert.sameValue(0x2n % -0x1n, 0x0n, 'The result of (0x2n % -0x1n) is 0x0n'); +assert.sameValue(0x2n % -0x2n, 0x0n, 'The result of (0x2n % -0x2n) is 0x0n'); +assert.sameValue(0x2n % -0x3n, 0x2n, 'The result of (0x2n % -0x3n) is 0x2n'); +assert.sameValue(0x2n % -0x1234n, 0x2n, 'The result of (0x2n % -0x1234n) is 0x2n'); +assert.sameValue(0x2n % -0xFEDCBA97n, 0x2n, 'The result of (0x2n % -0xFEDCBA97n) is 0x2n'); +assert.sameValue(0x2n % -0xFEDCBA98n, 0x2n, 'The result of (0x2n % -0xFEDCBA98n) is 0x2n'); + +assert.sameValue( + 0x2n % -0xFEDCBA987654320Fn, + 0x2n, + 'The result of (0x2n % -0xFEDCBA987654320Fn) is 0x2n' +); + +assert.sameValue( + 0x2n % -0xFEDCBA9876543210n, + 0x2n, + 'The result of (0x2n % -0xFEDCBA9876543210n) is 0x2n' +); + +assert.sameValue( + 0x1n % 0xFEDCBA9876543210n, + 0x1n, + 'The result of (0x1n % 0xFEDCBA9876543210n) is 0x1n' +); + +assert.sameValue( + 0x1n % 0xFEDCBA987654320Fn, + 0x1n, + 'The result of (0x1n % 0xFEDCBA987654320Fn) is 0x1n' +); + +assert.sameValue(0x1n % 0xFEDCBA98n, 0x1n, 'The result of (0x1n % 0xFEDCBA98n) is 0x1n'); +assert.sameValue(0x1n % 0xFEDCBA97n, 0x1n, 'The result of (0x1n % 0xFEDCBA97n) is 0x1n'); +assert.sameValue(0x1n % 0x1234n, 0x1n, 'The result of (0x1n % 0x1234n) is 0x1n'); +assert.sameValue(0x1n % 0x3n, 0x1n, 'The result of (0x1n % 0x3n) is 0x1n'); +assert.sameValue(0x1n % 0x2n, 0x1n, 'The result of (0x1n % 0x2n) is 0x1n'); +assert.sameValue(0x1n % 0x1n, 0x0n, 'The result of (0x1n % 0x1n) is 0x0n'); +assert.sameValue(0x1n % -0x1n, 0x0n, 'The result of (0x1n % -0x1n) is 0x0n'); +assert.sameValue(0x1n % -0x2n, 0x1n, 'The result of (0x1n % -0x2n) is 0x1n'); +assert.sameValue(0x1n % -0x3n, 0x1n, 'The result of (0x1n % -0x3n) is 0x1n'); +assert.sameValue(0x1n % -0x1234n, 0x1n, 'The result of (0x1n % -0x1234n) is 0x1n'); +assert.sameValue(0x1n % -0xFEDCBA97n, 0x1n, 'The result of (0x1n % -0xFEDCBA97n) is 0x1n'); +assert.sameValue(0x1n % -0xFEDCBA98n, 0x1n, 'The result of (0x1n % -0xFEDCBA98n) is 0x1n'); + +assert.sameValue( + 0x1n % -0xFEDCBA987654320Fn, + 0x1n, + 'The result of (0x1n % -0xFEDCBA987654320Fn) is 0x1n' +); + +assert.sameValue( + 0x1n % -0xFEDCBA9876543210n, + 0x1n, + 'The result of (0x1n % -0xFEDCBA9876543210n) is 0x1n' +); + +assert.sameValue( + -0x1n % 0xFEDCBA9876543210n, + -0x1n, + 'The result of (-0x1n % 0xFEDCBA9876543210n) is -0x1n' +); + +assert.sameValue( + -0x1n % 0xFEDCBA987654320Fn, + -0x1n, + 'The result of (-0x1n % 0xFEDCBA987654320Fn) is -0x1n' +); + +assert.sameValue(-0x1n % 0xFEDCBA98n, -0x1n, 'The result of (-0x1n % 0xFEDCBA98n) is -0x1n'); +assert.sameValue(-0x1n % 0xFEDCBA97n, -0x1n, 'The result of (-0x1n % 0xFEDCBA97n) is -0x1n'); +assert.sameValue(-0x1n % 0x1234n, -0x1n, 'The result of (-0x1n % 0x1234n) is -0x1n'); +assert.sameValue(-0x1n % 0x3n, -0x1n, 'The result of (-0x1n % 0x3n) is -0x1n'); +assert.sameValue(-0x1n % 0x2n, -0x1n, 'The result of (-0x1n % 0x2n) is -0x1n'); +assert.sameValue(-0x1n % 0x1n, 0x0n, 'The result of (-0x1n % 0x1n) is 0x0n'); +assert.sameValue(-0x1n % -0x1n, 0x0n, 'The result of (-0x1n % -0x1n) is 0x0n'); +assert.sameValue(-0x1n % -0x2n, -0x1n, 'The result of (-0x1n % -0x2n) is -0x1n'); +assert.sameValue(-0x1n % -0x3n, -0x1n, 'The result of (-0x1n % -0x3n) is -0x1n'); +assert.sameValue(-0x1n % -0x1234n, -0x1n, 'The result of (-0x1n % -0x1234n) is -0x1n'); +assert.sameValue(-0x1n % -0xFEDCBA97n, -0x1n, 'The result of (-0x1n % -0xFEDCBA97n) is -0x1n'); +assert.sameValue(-0x1n % -0xFEDCBA98n, -0x1n, 'The result of (-0x1n % -0xFEDCBA98n) is -0x1n'); + +assert.sameValue( + -0x1n % -0xFEDCBA987654320Fn, + -0x1n, + 'The result of (-0x1n % -0xFEDCBA987654320Fn) is -0x1n' +); + +assert.sameValue( + -0x1n % -0xFEDCBA9876543210n, + -0x1n, + 'The result of (-0x1n % -0xFEDCBA9876543210n) is -0x1n' +); + +assert.sameValue( + -0x2n % 0xFEDCBA9876543210n, + -0x2n, + 'The result of (-0x2n % 0xFEDCBA9876543210n) is -0x2n' +); + +assert.sameValue( + -0x2n % 0xFEDCBA987654320Fn, + -0x2n, + 'The result of (-0x2n % 0xFEDCBA987654320Fn) is -0x2n' +); + +assert.sameValue(-0x2n % 0xFEDCBA98n, -0x2n, 'The result of (-0x2n % 0xFEDCBA98n) is -0x2n'); +assert.sameValue(-0x2n % 0xFEDCBA97n, -0x2n, 'The result of (-0x2n % 0xFEDCBA97n) is -0x2n'); +assert.sameValue(-0x2n % 0x1234n, -0x2n, 'The result of (-0x2n % 0x1234n) is -0x2n'); +assert.sameValue(-0x2n % 0x3n, -0x2n, 'The result of (-0x2n % 0x3n) is -0x2n'); +assert.sameValue(-0x2n % 0x2n, 0x0n, 'The result of (-0x2n % 0x2n) is 0x0n'); +assert.sameValue(-0x2n % 0x1n, 0x0n, 'The result of (-0x2n % 0x1n) is 0x0n'); +assert.sameValue(-0x2n % -0x1n, 0x0n, 'The result of (-0x2n % -0x1n) is 0x0n'); +assert.sameValue(-0x2n % -0x2n, 0x0n, 'The result of (-0x2n % -0x2n) is 0x0n'); +assert.sameValue(-0x2n % -0x3n, -0x2n, 'The result of (-0x2n % -0x3n) is -0x2n'); +assert.sameValue(-0x2n % -0x1234n, -0x2n, 'The result of (-0x2n % -0x1234n) is -0x2n'); +assert.sameValue(-0x2n % -0xFEDCBA97n, -0x2n, 'The result of (-0x2n % -0xFEDCBA97n) is -0x2n'); +assert.sameValue(-0x2n % -0xFEDCBA98n, -0x2n, 'The result of (-0x2n % -0xFEDCBA98n) is -0x2n'); + +assert.sameValue( + -0x2n % -0xFEDCBA987654320Fn, + -0x2n, + 'The result of (-0x2n % -0xFEDCBA987654320Fn) is -0x2n' +); + +assert.sameValue( + -0x2n % -0xFEDCBA9876543210n, + -0x2n, + 'The result of (-0x2n % -0xFEDCBA9876543210n) is -0x2n' +); + +assert.sameValue( + -0x3n % 0xFEDCBA9876543210n, + -0x3n, + 'The result of (-0x3n % 0xFEDCBA9876543210n) is -0x3n' +); + +assert.sameValue( + -0x3n % 0xFEDCBA987654320Fn, + -0x3n, + 'The result of (-0x3n % 0xFEDCBA987654320Fn) is -0x3n' +); + +assert.sameValue(-0x3n % 0xFEDCBA98n, -0x3n, 'The result of (-0x3n % 0xFEDCBA98n) is -0x3n'); +assert.sameValue(-0x3n % 0xFEDCBA97n, -0x3n, 'The result of (-0x3n % 0xFEDCBA97n) is -0x3n'); +assert.sameValue(-0x3n % 0x1234n, -0x3n, 'The result of (-0x3n % 0x1234n) is -0x3n'); +assert.sameValue(-0x3n % 0x3n, 0x0n, 'The result of (-0x3n % 0x3n) is 0x0n'); +assert.sameValue(-0x3n % 0x2n, -0x1n, 'The result of (-0x3n % 0x2n) is -0x1n'); +assert.sameValue(-0x3n % 0x1n, 0x0n, 'The result of (-0x3n % 0x1n) is 0x0n'); +assert.sameValue(-0x3n % -0x1n, 0x0n, 'The result of (-0x3n % -0x1n) is 0x0n'); +assert.sameValue(-0x3n % -0x2n, -0x1n, 'The result of (-0x3n % -0x2n) is -0x1n'); +assert.sameValue(-0x3n % -0x3n, 0x0n, 'The result of (-0x3n % -0x3n) is 0x0n'); +assert.sameValue(-0x3n % -0x1234n, -0x3n, 'The result of (-0x3n % -0x1234n) is -0x3n'); +assert.sameValue(-0x3n % -0xFEDCBA97n, -0x3n, 'The result of (-0x3n % -0xFEDCBA97n) is -0x3n'); +assert.sameValue(-0x3n % -0xFEDCBA98n, -0x3n, 'The result of (-0x3n % -0xFEDCBA98n) is -0x3n'); + +assert.sameValue( + -0x3n % -0xFEDCBA987654320Fn, + -0x3n, + 'The result of (-0x3n % -0xFEDCBA987654320Fn) is -0x3n' +); + +assert.sameValue( + -0x3n % -0xFEDCBA9876543210n, + -0x3n, + 'The result of (-0x3n % -0xFEDCBA9876543210n) is -0x3n' +); + +assert.sameValue( + -0x1234n % 0xFEDCBA9876543210n, + -0x1234n, + 'The result of (-0x1234n % 0xFEDCBA9876543210n) is -0x1234n' +); + +assert.sameValue( + -0x1234n % 0xFEDCBA987654320Fn, + -0x1234n, + 'The result of (-0x1234n % 0xFEDCBA987654320Fn) is -0x1234n' +); + +assert.sameValue( + -0x1234n % 0xFEDCBA98n, + -0x1234n, + 'The result of (-0x1234n % 0xFEDCBA98n) is -0x1234n' +); + +assert.sameValue( + -0x1234n % 0xFEDCBA97n, + -0x1234n, + 'The result of (-0x1234n % 0xFEDCBA97n) is -0x1234n' +); + +assert.sameValue(-0x1234n % 0x1234n, 0x0n, 'The result of (-0x1234n % 0x1234n) is 0x0n'); +assert.sameValue(-0x1234n % 0x3n, -0x1n, 'The result of (-0x1234n % 0x3n) is -0x1n'); +assert.sameValue(-0x1234n % 0x2n, 0x0n, 'The result of (-0x1234n % 0x2n) is 0x0n'); +assert.sameValue(-0x1234n % 0x1n, 0x0n, 'The result of (-0x1234n % 0x1n) is 0x0n'); +assert.sameValue(-0x1234n % -0x1n, 0x0n, 'The result of (-0x1234n % -0x1n) is 0x0n'); +assert.sameValue(-0x1234n % -0x2n, 0x0n, 'The result of (-0x1234n % -0x2n) is 0x0n'); +assert.sameValue(-0x1234n % -0x3n, -0x1n, 'The result of (-0x1234n % -0x3n) is -0x1n'); +assert.sameValue(-0x1234n % -0x1234n, 0x0n, 'The result of (-0x1234n % -0x1234n) is 0x0n'); + +assert.sameValue( + -0x1234n % -0xFEDCBA97n, + -0x1234n, + 'The result of (-0x1234n % -0xFEDCBA97n) is -0x1234n' +); + +assert.sameValue( + -0x1234n % -0xFEDCBA98n, + -0x1234n, + 'The result of (-0x1234n % -0xFEDCBA98n) is -0x1234n' +); + +assert.sameValue( + -0x1234n % -0xFEDCBA987654320Fn, + -0x1234n, + 'The result of (-0x1234n % -0xFEDCBA987654320Fn) is -0x1234n' +); + +assert.sameValue( + -0x1234n % -0xFEDCBA9876543210n, + -0x1234n, + 'The result of (-0x1234n % -0xFEDCBA9876543210n) is -0x1234n' +); + +assert.sameValue( + -0xFEDCBA97n % 0xFEDCBA9876543210n, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % 0xFEDCBA9876543210n) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA97n % 0xFEDCBA987654320Fn, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % 0xFEDCBA987654320Fn) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA97n % 0xFEDCBA98n, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % 0xFEDCBA98n) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA97n % 0xFEDCBA97n, + 0x0n, + 'The result of (-0xFEDCBA97n % 0xFEDCBA97n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA97n % 0x1234n, + -0x92Fn, + 'The result of (-0xFEDCBA97n % 0x1234n) is -0x92Fn' +); + +assert.sameValue(-0xFEDCBA97n % 0x3n, -0x1n, 'The result of (-0xFEDCBA97n % 0x3n) is -0x1n'); +assert.sameValue(-0xFEDCBA97n % 0x2n, -0x1n, 'The result of (-0xFEDCBA97n % 0x2n) is -0x1n'); +assert.sameValue(-0xFEDCBA97n % 0x1n, 0x0n, 'The result of (-0xFEDCBA97n % 0x1n) is 0x0n'); +assert.sameValue(-0xFEDCBA97n % -0x1n, 0x0n, 'The result of (-0xFEDCBA97n % -0x1n) is 0x0n'); +assert.sameValue(-0xFEDCBA97n % -0x2n, -0x1n, 'The result of (-0xFEDCBA97n % -0x2n) is -0x1n'); +assert.sameValue(-0xFEDCBA97n % -0x3n, -0x1n, 'The result of (-0xFEDCBA97n % -0x3n) is -0x1n'); + +assert.sameValue( + -0xFEDCBA97n % -0x1234n, + -0x92Fn, + 'The result of (-0xFEDCBA97n % -0x1234n) is -0x92Fn' +); + +assert.sameValue( + -0xFEDCBA97n % -0xFEDCBA97n, + 0x0n, + 'The result of (-0xFEDCBA97n % -0xFEDCBA97n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA97n % -0xFEDCBA98n, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % -0xFEDCBA98n) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA97n % -0xFEDCBA987654320Fn, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % -0xFEDCBA987654320Fn) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA97n % -0xFEDCBA9876543210n, + -0xFEDCBA97n, + 'The result of (-0xFEDCBA97n % -0xFEDCBA9876543210n) is -0xFEDCBA97n' +); + +assert.sameValue( + -0xFEDCBA98n % 0xFEDCBA9876543210n, + -0xFEDCBA98n, + 'The result of (-0xFEDCBA98n % 0xFEDCBA9876543210n) is -0xFEDCBA98n' +); + +assert.sameValue( + -0xFEDCBA98n % 0xFEDCBA987654320Fn, + -0xFEDCBA98n, + 'The result of (-0xFEDCBA98n % 0xFEDCBA987654320Fn) is -0xFEDCBA98n' +); + +assert.sameValue( + -0xFEDCBA98n % 0xFEDCBA98n, + 0x0n, + 'The result of (-0xFEDCBA98n % 0xFEDCBA98n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA98n % 0xFEDCBA97n, + -0x1n, + 'The result of (-0xFEDCBA98n % 0xFEDCBA97n) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA98n % 0x1234n, + -0x930n, + 'The result of (-0xFEDCBA98n % 0x1234n) is -0x930n' +); + +assert.sameValue(-0xFEDCBA98n % 0x3n, -0x2n, 'The result of (-0xFEDCBA98n % 0x3n) is -0x2n'); +assert.sameValue(-0xFEDCBA98n % 0x2n, 0x0n, 'The result of (-0xFEDCBA98n % 0x2n) is 0x0n'); +assert.sameValue(-0xFEDCBA98n % 0x1n, 0x0n, 'The result of (-0xFEDCBA98n % 0x1n) is 0x0n'); +assert.sameValue(-0xFEDCBA98n % -0x1n, 0x0n, 'The result of (-0xFEDCBA98n % -0x1n) is 0x0n'); +assert.sameValue(-0xFEDCBA98n % -0x2n, 0x0n, 'The result of (-0xFEDCBA98n % -0x2n) is 0x0n'); +assert.sameValue(-0xFEDCBA98n % -0x3n, -0x2n, 'The result of (-0xFEDCBA98n % -0x3n) is -0x2n'); + +assert.sameValue( + -0xFEDCBA98n % -0x1234n, + -0x930n, + 'The result of (-0xFEDCBA98n % -0x1234n) is -0x930n' +); + +assert.sameValue( + -0xFEDCBA98n % -0xFEDCBA97n, + -0x1n, + 'The result of (-0xFEDCBA98n % -0xFEDCBA97n) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA98n % -0xFEDCBA98n, + 0x0n, + 'The result of (-0xFEDCBA98n % -0xFEDCBA98n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA98n % -0xFEDCBA987654320Fn, + -0xFEDCBA98n, + 'The result of (-0xFEDCBA98n % -0xFEDCBA987654320Fn) is -0xFEDCBA98n' +); + +assert.sameValue( + -0xFEDCBA98n % -0xFEDCBA9876543210n, + -0xFEDCBA98n, + 'The result of (-0xFEDCBA98n % -0xFEDCBA9876543210n) is -0xFEDCBA98n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0xFEDCBA9876543210n, + -0xFEDCBA987654320Fn, + 'The result of (-0xFEDCBA987654320Fn % 0xFEDCBA9876543210n) is -0xFEDCBA987654320Fn' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0xFEDCBA987654320Fn, + 0x0n, + 'The result of (-0xFEDCBA987654320Fn % 0xFEDCBA987654320Fn) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0xFEDCBA98n, + -0x7654320Fn, + 'The result of (-0xFEDCBA987654320Fn % 0xFEDCBA98n) is -0x7654320Fn' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0xFEDCBA97n, + -0x77777778n, + 'The result of (-0xFEDCBA987654320Fn % 0xFEDCBA97n) is -0x77777778n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0x1234n, + -0x95Fn, + 'The result of (-0xFEDCBA987654320Fn % 0x1234n) is -0x95Fn' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0x3n, + -0x2n, + 'The result of (-0xFEDCBA987654320Fn % 0x3n) is -0x2n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0x2n, + -0x1n, + 'The result of (-0xFEDCBA987654320Fn % 0x2n) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % 0x1n, + 0x0n, + 'The result of (-0xFEDCBA987654320Fn % 0x1n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0x1n, + 0x0n, + 'The result of (-0xFEDCBA987654320Fn % -0x1n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0x2n, + -0x1n, + 'The result of (-0xFEDCBA987654320Fn % -0x2n) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0x3n, + -0x2n, + 'The result of (-0xFEDCBA987654320Fn % -0x3n) is -0x2n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0x1234n, + -0x95Fn, + 'The result of (-0xFEDCBA987654320Fn % -0x1234n) is -0x95Fn' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0xFEDCBA97n, + -0x77777778n, + 'The result of (-0xFEDCBA987654320Fn % -0xFEDCBA97n) is -0x77777778n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0xFEDCBA98n, + -0x7654320Fn, + 'The result of (-0xFEDCBA987654320Fn % -0xFEDCBA98n) is -0x7654320Fn' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0xFEDCBA987654320Fn, + 0x0n, + 'The result of (-0xFEDCBA987654320Fn % -0xFEDCBA987654320Fn) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA987654320Fn % -0xFEDCBA9876543210n, + -0xFEDCBA987654320Fn, + 'The result of (-0xFEDCBA987654320Fn % -0xFEDCBA9876543210n) is -0xFEDCBA987654320Fn' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0xFEDCBA9876543210n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % 0xFEDCBA9876543210n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0xFEDCBA987654320Fn, + -0x1n, + 'The result of (-0xFEDCBA9876543210n % 0xFEDCBA987654320Fn) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0xFEDCBA98n, + -0x76543210n, + 'The result of (-0xFEDCBA9876543210n % 0xFEDCBA98n) is -0x76543210n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0xFEDCBA97n, + -0x77777779n, + 'The result of (-0xFEDCBA9876543210n % 0xFEDCBA97n) is -0x77777779n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0x1234n, + -0x960n, + 'The result of (-0xFEDCBA9876543210n % 0x1234n) is -0x960n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0x3n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % 0x3n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0x2n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % 0x2n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % 0x1n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % 0x1n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0x1n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % -0x1n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0x2n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % -0x2n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0x3n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % -0x3n) is 0x0n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0x1234n, + -0x960n, + 'The result of (-0xFEDCBA9876543210n % -0x1234n) is -0x960n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0xFEDCBA97n, + -0x77777779n, + 'The result of (-0xFEDCBA9876543210n % -0xFEDCBA97n) is -0x77777779n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0xFEDCBA98n, + -0x76543210n, + 'The result of (-0xFEDCBA9876543210n % -0xFEDCBA98n) is -0x76543210n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0xFEDCBA987654320Fn, + -0x1n, + 'The result of (-0xFEDCBA9876543210n % -0xFEDCBA987654320Fn) is -0x1n' +); + +assert.sameValue( + -0xFEDCBA9876543210n % -0xFEDCBA9876543210n, + 0x0n, + 'The result of (-0xFEDCBA9876543210n % -0xFEDCBA9876543210n) is 0x0n' +); + +reportCompare(0, 0); |