Commit 847a0f9d authored by Andi-Bogdan Postelnicu's avatar Andi-Bogdan Postelnicu
Browse files

Bug 1660405 - remove unused mozilla::IsNaN. r=sergesanspaille

parent fa0bb17a
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -155,20 +155,6 @@ struct FloatingPoint final : private detail::FloatingPointTrait<T> {
                "all bits accounted for");
};

/** Determines whether a float/double is NaN. */
template <typename T>
static MOZ_ALWAYS_INLINE bool IsNaN(T aValue) {
  /*
   * A float/double is NaN if all exponent bits are 1 and the significand
   * contains at least one non-zero bit.
   */
  typedef FloatingPoint<T> Traits;
  typedef typename Traits::Bits Bits;
  return (BitwiseCast<Bits>(aValue) & Traits::kExponentBits) ==
             Traits::kExponentBits &&
         (BitwiseCast<Bits>(aValue) & Traits::kSignificandBits) != 0;
}

/** Determines whether a float/double is +Infinity or -Infinity. */
template <typename T>
static MOZ_ALWAYS_INLINE bool IsInfinite(T aValue) {
+10 −17
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ using mozilla::FuzzyEqualsMultiplicative;
using mozilla::IsFinite;
using mozilla::IsFloat32Representable;
using mozilla::IsInfinite;
using mozilla::IsNaN;
using mozilla::IsNegative;
using mozilla::IsNegativeZero;
using mozilla::IsPositiveZero;
@@ -310,15 +309,12 @@ static void TestEqualsIsForNonInteger(T aVal) {
};

static void TestDoublesPredicates() {
  A(IsNaN(UnspecifiedNaN<double>()));
  A(IsNaN(SpecificNaN<double>(1, 17)));
  A(std::isnan(UnspecifiedNaN<double>()));
  A(std::isnan(SpecificNaN<double>(1, 17)));
  ;
  A(IsNaN(SpecificNaN<double>(0, 0xfffffffffff0fULL)));
  A(!IsNaN(0.0));
  A(!IsNaN(-0.0));
  A(!IsNaN(1.0));
  A(!IsNaN(PositiveInfinity<double>()));
  A(!IsNaN(NegativeInfinity<double>()));
  A(std::isnan(SpecificNaN<double>(0, 0xfffffffffff0fULL)));
  A(!std::isnan(PositiveInfinity<double>()));
  A(!std::isnan(NegativeInfinity<double>()));

  A(IsInfinite(PositiveInfinity<double>()));
  A(IsInfinite(NegativeInfinity<double>()));
@@ -412,15 +408,12 @@ static void TestDoublesPredicates() {
}

static void TestFloatsPredicates() {
  A(IsNaN(UnspecifiedNaN<float>()));
  A(IsNaN(SpecificNaN<float>(1, 17)));
  A(std::isnan(UnspecifiedNaN<float>()));
  A(std::isnan(SpecificNaN<float>(1, 17)));
  ;
  A(IsNaN(SpecificNaN<float>(0, 0x7fff0fUL)));
  A(!IsNaN(0.0f));
  A(!IsNaN(-0.0f));
  A(!IsNaN(1.0f));
  A(!IsNaN(PositiveInfinity<float>()));
  A(!IsNaN(NegativeInfinity<float>()));
  A(std::isnan(SpecificNaN<float>(0, 0x7fff0fUL)));
  A(!std::isnan(PositiveInfinity<float>()));
  A(!std::isnan(NegativeInfinity<float>()));

  A(IsInfinite(PositiveInfinity<float>()));
  A(IsInfinite(NegativeInfinity<float>()));