mfbt/double-conversion/ToPrecision-exponential.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/mfbt/double-conversion/ToPrecision-exponential.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,35 @@
     1.4 +1e7bf0c636b8cca54dd83456a0f8fa219343e2a1 Bug 608195 - part 2 - extend ToPrecision to tell use whether exponential notation was used
     1.5 +diff --git a/mfbt/double-conversion/double-conversion.cc b/mfbt/double-conversion/double-conversion.cc
     1.6 +index febba6c..394b6a0 100644
     1.7 +--- a/mfbt/double-conversion/double-conversion.cc
     1.8 ++++ b/mfbt/double-conversion/double-conversion.cc
     1.9 +@@ -283,7 +283,9 @@ bool DoubleToStringConverter::ToExponential(
    1.10 + 
    1.11 + bool DoubleToStringConverter::ToPrecision(double value,
    1.12 +                                           int precision,
    1.13 ++                                          bool* used_exponential_notation,
    1.14 +                                           StringBuilder* result_builder) const {
    1.15 ++  *used_exponential_notation = false;
    1.16 +   if (Double(value).IsSpecial()) {
    1.17 +     return HandleSpecialValues(value, result_builder);
    1.18 +   }
    1.19 +@@ -325,6 +327,7 @@ bool DoubleToStringConverter::ToPrecision(double value,
    1.20 +       decimal_rep[i] = '0';
    1.21 +     }
    1.22 + 
    1.23 ++    *used_exponential_notation = true;
    1.24 +     CreateExponentialRepresentation(decimal_rep,
    1.25 +                                     precision,
    1.26 +                                     exponent,
    1.27 +diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h
    1.28 +index 0900ba0..957575c 100644
    1.29 +--- a/mfbt/double-conversion/double-conversion.h
    1.30 ++++ b/mfbt/double-conversion/double-conversion.h
    1.31 +@@ -270,6 +270,7 @@ class DoubleToStringConverter {
    1.32 +   // exponent character, the exponent's sign, and at most 3 exponent digits).
    1.33 +   MFBT_API bool ToPrecision(double value,
    1.34 +                    int precision,
    1.35 ++                   bool* used_exponential_notation,
    1.36 +                    StringBuilder* result_builder) const;
    1.37 + 
    1.38 +   enum DtoaMode {

mercurial