Source code
Revision control
Copy as Markdown
Other Tools
diff --git a/Decimal.h b/Decimal.h
index 4bb9a841e585..8d9adbff4fb0 100644
--- a/Decimal.h
+++ b/Decimal.h
@@ -234,11 +234,13 @@ public:
// Note: fromString doesn't support "infinity" and "nan".
static MFBT_API Decimal fromString(const std::string& aValue);
static MFBT_API Decimal infinity(Sign);
- static MFBT_API Decimal nan();
+ static constexpr Decimal nan() {
+ return Decimal(EncodedData(Positive, EncodedData::ClassNaN));
+ }
static MFBT_API Decimal zero(Sign);
// You should not use below methods. We expose them for unit testing.
- MFBT_API explicit Decimal(const EncodedData&);
+ constexpr explicit Decimal(const EncodedData& data) : m_data(data) {}
const EncodedData& value() const { return m_data; }
private:
diff --git a/Decimal.cpp b/Decimal.cpp
index 7d2bcfa712c5..e4db6a0f1e58 100644
--- a/Decimal.cpp
+++ b/Decimal.cpp
@@ -239,11 +239,6 @@ Decimal::Decimal(int32_t i32)
Decimal::Decimal(Sign sign, int exponent, uint64_t coefficient)
: m_data(sign, coefficient ? exponent : 0, coefficient) {}
-Decimal::Decimal(const EncodedData& data)
- : m_data(data)
-{
-}
-
Decimal::Decimal(const Decimal& other)
: m_data(other.m_data)
{
@@ -853,11 +848,6 @@ Decimal Decimal::infinity(const Sign sign)
return Decimal(EncodedData(sign, EncodedData::ClassInfinity));
}
-Decimal Decimal::nan()
-{
- return Decimal(EncodedData(Positive, EncodedData::ClassNaN));
-}
-
Decimal Decimal::remainder(const Decimal& rhs) const
{
const Decimal quotient = *this / rhs;