Luke Wilde
09536f5f48
LibJS: Fix typo in LHS Object and RHS BigInt loosely equals check
...
Step 12 was using `lhs.is_bigint()` instead of `rhs.is_bigint()`,
meaning you got:
```js
1n == Object(1n); // true
Object(1n) == 1n; // false
```
This also adds spec comments to is_loosely_equal.
2021-10-15 01:59:09 +01:00
Idan Horowitz
690eb3bb8a
LibJS: Add support for hex, octal & binary big integer literals
2021-06-14 01:45:04 +01:00
Idan Horowitz
67a5e9f018
LibJS: Add left shift & right shift operator support for BigIntegers
...
Based on https://tc39.es/ecma262/#sec-numeric-types-bigint-leftShift
(This commit also includes the matching tests)
2021-05-31 19:50:29 +01:00
Linus Groh
fa6bce5087
LibJS: Throw RangeError on BigInt exponentiation with negative exponent
...
https://tc39.es/ecma262/#sec-numeric-types-bigint-exponentiate
2021-03-16 21:54:51 +01:00
Linus Groh
11138f5c1f
LibJS: Throw RangeError on BigInt division/modulo by zero
...
https://tc39.es/ecma262/#sec-numeric-types-bigint-divide
https://tc39.es/ecma262/#sec-numeric-types-bigint-remainder
2021-03-16 21:54:51 +01:00
Linus Groh
4e2a961a3d
LibJS: Add BigInt equality tests for some large numbers
2021-02-14 10:51:00 +01:00
Andreas Kling
13d7c09125
Libraries: Move to Userland/Libraries/
2021-01-12 12:17:46 +01:00