1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:27:45 +00:00

LibJS: Remove unnecessary modulo operation in GetISOPartsFromEpoch

This is an editorial change in the Temporal spec.

See: fc3f80d
This commit is contained in:
Linus Groh 2022-06-23 19:37:25 +01:00
parent 0ff6260afb
commit 9c31fee4b5

View file

@ -136,13 +136,16 @@ ISODateTime get_iso_parts_from_epoch(GlobalObject& global_object, Crypto::Signed
// 10. Let millisecond be (! msFromTime(epochMilliseconds)).
auto millisecond = ms_from_time(epoch_milliseconds);
// 11. Let microsecond be floor(remainderNs / 1000) modulo 1000.
auto microsecond = modulo(floor(remainder_ns / 1000), 1000);
// 11. Let microsecond be floor(remainderNs / 1000).
auto microsecond = floor(remainder_ns / 1000);
// 12. Let nanosecond be remainderNs modulo 1000.
// 12. Assert: microsecond < 1000.
VERIFY(microsecond < 1000);
// 13. Let nanosecond be remainderNs modulo 1000.
auto nanosecond = modulo(remainder_ns, 1000);
// 13. Return the Record { [[Year]]: year, [[Month]]: month, [[Day]]: day, [[Hour]]: hour, [[Minute]]: minute, [[Second]]: second, [[Millisecond]]: millisecond, [[Microsecond]]: microsecond, [[Nanosecond]]: nanosecond }.
// 14. Return the Record { [[Year]]: year, [[Month]]: month, [[Day]]: day, [[Hour]]: hour, [[Minute]]: minute, [[Second]]: second, [[Millisecond]]: millisecond, [[Microsecond]]: microsecond, [[Nanosecond]]: nanosecond }.
return { .year = year, .month = month, .day = day, .hour = hour, .minute = minute, .second = second, .millisecond = millisecond, .microsecond = static_cast<u16>(microsecond), .nanosecond = static_cast<u16>(nanosecond) };
}