Index: src/cached-powers.h |
diff --git a/src/cached-powers.h b/src/cached-powers.h |
index 0c7834317032aeee37ea71f301f119aca3a788e7..2ae56196a32a896dfaf5a9f1713c2937a8eb6d36 100644 |
--- a/src/cached-powers.h |
+++ b/src/cached-powers.h |
@@ -33,10 +33,32 @@ |
namespace v8 { |
namespace internal { |
-void GetCachedPowerForBinaryExponentRange(int min_exponent, |
- int max_exponent, |
- DiyFp* power, |
- int* decimal_exponent); |
+class PowersOfTenCache { |
+ public: |
+ |
+ // Not all powers of ten are cached. The decimal exponent of two neighboring |
+ // cached numbers will differ by kDecimalExponentDistance. |
+ static const int kDecimalExponentDistance; |
+ |
+ static const int kMinDecimalExponent; |
+ static const int kMaxDecimalExponent; |
+ |
+ // Returns a cached power-of-ten with a binary exponent in the range |
+ // [min_exponent; max_exponent] (boundaries included). |
+ static void GetCachedPowerForBinaryExponentRange(int min_exponent, |
+ int max_exponent, |
+ DiyFp* power, |
+ int* decimal_exponent); |
+ |
+ // Returns a cached power of ten x ~= 10^k such that |
+ // k <= decimal_exponent < k + kCachedPowersDecimalDistance. |
+ // The given decimal_exponent must satisfy |
+ // kMinDecimalExponent <= requested_exponent, and |
+ // requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance. |
+ static void GetCachedPowerForDecimalExponent(int requested_exponent, |
+ DiyFp* power, |
+ int* found_exponent); |
+}; |
} } // namespace v8::internal |