| 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
|
|
|
|
|