浏览代码

LibJS: Use the UnsignedBigInteger compare_to_double algorithm

This also avoids an unnecessary copy
Moustafa Raafat 2 年之前
父节点
当前提交
939374a037
共有 1 个文件被更改,包括 1 次插入2 次删除
  1. 1 2
      Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp

+ 1 - 2
Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp

@@ -555,8 +555,7 @@ ThrowCompletionOr<NanosecondsToDaysResult> nanoseconds_to_days(VM& vm, Crypto::S
         return vm.throw_completion<RangeError>(ErrorType::TemporalNanosecondsConvertedToRemainderOfNanosecondsWithOppositeSign);
 
     // 23. If abs(nanoseconds) ≥ abs(dayLengthNs), throw a RangeError exception.
-    auto nanoseconds_absolute = nanoseconds.is_negative() ? nanoseconds.negated_value() : nanoseconds;
-    auto compare_result = nanoseconds_absolute.compare_to_double(fabs(day_length_ns.to_double()));
+    auto compare_result = nanoseconds.unsigned_value().compare_to_double(fabs(day_length_ns.to_double()));
     if (compare_result == Crypto::UnsignedBigInteger::CompareResult::DoubleLessThanBigInt || compare_result == Crypto::UnsignedBigInteger::CompareResult::DoubleEqualsBigInt)
         return vm.throw_completion<RangeError>(ErrorType::TemporalNanosecondsConvertedToRemainderOfNanosecondsLongerThanDayLength);