Skip to content

Commit

Permalink
Multiply by increment as a Mathematical Value, not as JS Number.
Browse files Browse the repository at this point in the history
  • Loading branch information
12wrigja authored and ptomato committed Jul 14, 2021
1 parent 1cc98c3 commit e302e0c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/ecmascript.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3898,7 +3898,7 @@ export const ES = ObjectAssign({}, ES2020, {
oneYearDays = MathAbs(oneYearDays);
const divisor = bigInt(oneYearDays).multiply(dayLengthNs);
nanoseconds = divisor.multiply(years).plus(bigInt(days).multiply(dayLengthNs)).plus(nanoseconds);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.toJSNumber() * increment, roundingMode);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.multiply(increment).toJSNumber(), roundingMode);
total = nanoseconds.toJSNumber() / divisor.toJSNumber();
years = rounded.divide(divisor).toJSNumber();
nanoseconds = months = weeks = days = 0;
Expand Down Expand Up @@ -3940,7 +3940,7 @@ export const ES = ObjectAssign({}, ES2020, {
oneMonthDays = MathAbs(oneMonthDays);
const divisor = bigInt(oneMonthDays).multiply(dayLengthNs);
nanoseconds = divisor.multiply(months).plus(bigInt(days).multiply(dayLengthNs)).plus(nanoseconds);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.toJSNumber() * increment, roundingMode);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.multiply(increment).toJSNumber(), roundingMode);
total = nanoseconds.toJSNumber() / divisor.toJSNumber();
months = rounded.divide(divisor).toJSNumber();
nanoseconds = weeks = days = 0;
Expand All @@ -3962,7 +3962,7 @@ export const ES = ObjectAssign({}, ES2020, {
oneWeekDays = MathAbs(oneWeekDays);
const divisor = bigInt(oneWeekDays).multiply(dayLengthNs);
nanoseconds = divisor.multiply(weeks).plus(bigInt(days).multiply(dayLengthNs)).plus(nanoseconds);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.toJSNumber() * increment, roundingMode);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.multiply(increment).toJSNumber(), roundingMode);
total = nanoseconds.toJSNumber() / divisor.toJSNumber();
weeks = rounded.divide(divisor).toJSNumber();
nanoseconds = days = 0;
Expand All @@ -3971,7 +3971,7 @@ export const ES = ObjectAssign({}, ES2020, {
case 'day': {
const divisor = bigInt(dayLengthNs);
nanoseconds = divisor.multiply(days).plus(nanoseconds);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.toJSNumber() * increment, roundingMode);
const rounded = ES.RoundNumberToIncrement(nanoseconds, divisor.multiply(increment).toJSNumber(), roundingMode);
total = nanoseconds.toJSNumber() / divisor.toJSNumber();
days = rounded.divide(divisor).toJSNumber();
nanoseconds = 0;
Expand Down

0 comments on commit e302e0c

Please sign in to comment.