From fb5256b2256866628eed3914e7e1b20faf350272 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Sat, 10 Dec 2022 00:00:07 +0000 Subject: LibJS: Add spec comments to Value::to_bigint_int64() --- Userland/Libraries/LibJS/Runtime/Value.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Userland/Libraries/LibJS/Runtime') diff --git a/Userland/Libraries/LibJS/Runtime/Value.cpp b/Userland/Libraries/LibJS/Runtime/Value.cpp index 605c5bfcb7..9ace99bb39 100644 --- a/Userland/Libraries/LibJS/Runtime/Value.cpp +++ b/Userland/Libraries/LibJS/Runtime/Value.cpp @@ -826,7 +826,11 @@ static Optional string_to_bigint(VM& vm, StringView string) // 7.1.15 ToBigInt64 ( argument ), https://tc39.es/ecma262/#sec-tobigint64 ThrowCompletionOr Value::to_bigint_int64(VM& vm) const { + // 1. Let n be ? ToBigInt(argument). auto* bigint = TRY(to_bigint(vm)); + + // 2. Let int64bit be ℝ(n) modulo 2^64. + // 3. If int64bit ≥ 2^63, return ℤ(int64bit - 2^64); otherwise return ℤ(int64bit). return static_cast(bigint->big_integer().to_u64()); } -- cgit v1.2.3