Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3455)

Unified Diff: Source/wtf/dtoa/double.h

Issue 20300002: Fix trailing whitespace in .cpp, .h, and .idl files (ex. Source/core) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/wtf/dtoa/diy-fp.h ('k') | Source/wtf/dtoa/double-conversion.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/wtf/dtoa/double.h
diff --git a/Source/wtf/dtoa/double.h b/Source/wtf/dtoa/double.h
index 0544fdb5a817fa8216b3e31e65a31912f0787225..d0f449d20f0669586ef7c5ea48918b9223cde83c 100644
--- a/Source/wtf/dtoa/double.h
+++ b/Source/wtf/dtoa/double.h
@@ -33,11 +33,11 @@
namespace WTF {
namespace double_conversion {
-
+
// We assume that doubles and uint64_t have the same endianness.
static uint64_t double_to_uint64(double d) { return BitCast<uint64_t>(d); }
static double uint64_to_double(uint64_t d64) { return BitCast<double>(d64); }
-
+
// Helper functions for doubles.
class Double {
public:
@@ -47,13 +47,13 @@ namespace double_conversion {
static const uint64_t kHiddenBit = UINT64_2PART_C(0x00100000, 00000000);
static const int kPhysicalSignificandSize = 52; // Excludes the hidden bit.
static const int kSignificandSize = 53;
-
+
Double() : d64_(0) {}
explicit Double(double d) : d64_(double_to_uint64(d)) {}
explicit Double(uint64_t d64) : d64_(d64) {}
explicit Double(DiyFp diy_fp)
: d64_(DiyFpToUint64(diy_fp)) {}
-
+
// The value encoded by this Double must be greater or equal to +0.0.
// It must not be special (infinity, or NaN).
DiyFp AsDiyFp() const {
@@ -61,13 +61,13 @@ namespace double_conversion {
ASSERT(!IsSpecial());
return DiyFp(Significand(), Exponent());
}
-
+
// The value encoded by this Double must be strictly greater than 0.
DiyFp AsNormalizedDiyFp() const {
ASSERT(value() > 0.0);
uint64_t f = Significand();
int e = Exponent();
-
+
// The current double could be a denormal.
while ((f & kHiddenBit) == 0) {
f <<= 1;
@@ -78,12 +78,12 @@ namespace double_conversion {
e -= DiyFp::kSignificandSize - kSignificandSize;
return DiyFp(f, e);
}
-
+
// Returns the double's bit as uint64.
uint64_t AsUint64() const {
return d64_;
}
-
+
// Returns the next greater double. Returns +infinity on input +infinity.
double NextDouble() const {
if (d64_ == kInfinity) return Double(kInfinity).value();
@@ -97,16 +97,16 @@ namespace double_conversion {
return Double(d64_ + 1).value();
}
}
-
+
int Exponent() const {
if (IsDenormal()) return kDenormalExponent;
-
+
uint64_t d64 = AsUint64();
int biased_e =
static_cast<int>((d64 & kExponentMask) >> kPhysicalSignificandSize);
return biased_e - kExponentBias;
}
-
+
uint64_t Significand() const {
uint64_t d64 = AsUint64();
uint64_t significand = d64 & kSignificandMask;
@@ -116,44 +116,44 @@ namespace double_conversion {
return significand;
}
}
-
+
// Returns true if the double is a denormal.
bool IsDenormal() const {
uint64_t d64 = AsUint64();
return (d64 & kExponentMask) == 0;
}
-
+
// We consider denormals not to be special.
// Hence only Infinity and NaN are special.
bool IsSpecial() const {
uint64_t d64 = AsUint64();
return (d64 & kExponentMask) == kExponentMask;
}
-
+
bool IsNan() const {
uint64_t d64 = AsUint64();
return ((d64 & kExponentMask) == kExponentMask) &&
((d64 & kSignificandMask) != 0);
}
-
+
bool IsInfinite() const {
uint64_t d64 = AsUint64();
return ((d64 & kExponentMask) == kExponentMask) &&
((d64 & kSignificandMask) == 0);
}
-
+
int Sign() const {
uint64_t d64 = AsUint64();
return (d64 & kSignMask) == 0? 1: -1;
}
-
+
// Precondition: the value encoded by this Double must be greater or equal
// than +0.0.
DiyFp UpperBoundary() const {
ASSERT(Sign() > 0);
return DiyFp(Significand() * 2 + 1, Exponent() - 1);
}
-
+
// Computes the two boundaries of this.
// The bigger boundary (m_plus) is normalized. The lower boundary has the same
// exponent as m_plus.
@@ -180,9 +180,9 @@ namespace double_conversion {
*out_m_plus = m_plus;
*out_m_minus = m_minus;
}
-
+
double value() const { return uint64_to_double(d64_); }
-
+
// Returns the significand size for a given order of magnitude.
// If v = f*2^e with 2^p-1 <= f <= 2^p then p+e is v's order of magnitude.
// This function returns the number of significant binary digits v will have
@@ -196,24 +196,24 @@ namespace double_conversion {
if (order <= kDenormalExponent) return 0;
return order - kDenormalExponent;
}
-
+
static double Infinity() {
return Double(kInfinity).value();
}
-
+
static double NaN() {
return Double(kNaN).value();
}
-
+
private:
static const int kExponentBias = 0x3FF + kPhysicalSignificandSize;
static const int kDenormalExponent = -kExponentBias + 1;
static const int kMaxExponent = 0x7FF - kExponentBias;
static const uint64_t kInfinity = UINT64_2PART_C(0x7FF00000, 00000000);
static const uint64_t kNaN = UINT64_2PART_C(0x7FF80000, 00000000);
-
+
const uint64_t d64_;
-
+
static uint64_t DiyFpToUint64(DiyFp diy_fp) {
uint64_t significand = diy_fp.f();
int exponent = diy_fp.e();
@@ -241,7 +241,7 @@ namespace double_conversion {
(biased_exponent << kPhysicalSignificandSize);
}
};
-
+
} // namespace double_conversion
} // namespace WTF
« no previous file with comments | « Source/wtf/dtoa/diy-fp.h ('k') | Source/wtf/dtoa/double-conversion.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698