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

Differential Revision: https://phabricator.services.mozilla.com/D173048
This commit is contained in:
Andi-Bogdan Postelnicu 2023-03-22 11:35:34 +00:00
Родитель fa0bb17a0b
Коммит 847a0f9d04
2 изменённых файлов: 10 добавлений и 31 удалений

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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>()));