michael@0: diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h michael@0: index f98edae..c62b16b 100644 michael@0: --- a/mfbt/double-conversion/double-conversion.h michael@0: +++ b/mfbt/double-conversion/double-conversion.h michael@0: @@ -28,6 +28,7 @@ michael@0: #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_ michael@0: #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_ michael@0: michael@0: +#include "mozilla/Types.h" michael@0: #include "utils.h" michael@0: michael@0: namespace double_conversion { michael@0: @@ -129,7 +130,7 @@ class DoubleToStringConverter { michael@0: } michael@0: michael@0: // Returns a converter following the EcmaScript specification. michael@0: - static const DoubleToStringConverter& EcmaScriptConverter(); michael@0: + static MFBT_API const DoubleToStringConverter& EcmaScriptConverter(); michael@0: michael@0: // Computes the shortest string of digits that correctly represent the input michael@0: // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high michael@0: @@ -197,7 +198,7 @@ class DoubleToStringConverter { michael@0: // The last two conditions imply that the result will never contain more than michael@0: // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters michael@0: // (one additional character for the sign, and one for the decimal point). michael@0: - bool ToFixed(double value, michael@0: + MFBT_API bool ToFixed(double value, michael@0: int requested_digits, michael@0: StringBuilder* result_builder) const; michael@0: michael@0: @@ -229,7 +230,7 @@ class DoubleToStringConverter { michael@0: // kMaxExponentialDigits + 8 characters (the sign, the digit before the michael@0: // decimal point, the decimal point, the exponent character, the michael@0: // exponent's sign, and at most 3 exponent digits). michael@0: - bool ToExponential(double value, michael@0: + MFBT_API bool ToExponential(double value, michael@0: int requested_digits, michael@0: StringBuilder* result_builder) const; michael@0: michael@0: @@ -267,7 +268,7 @@ class DoubleToStringConverter { michael@0: // The last condition implies that the result will never contain more than michael@0: // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the michael@0: // exponent character, the exponent's sign, and at most 3 exponent digits). michael@0: - bool ToPrecision(double value, michael@0: + MFBT_API bool ToPrecision(double value, michael@0: int precision, michael@0: StringBuilder* result_builder) const; michael@0: michael@0: @@ -292,7 +293,7 @@ class DoubleToStringConverter { michael@0: // kBase10MaximalLength. michael@0: // Note that DoubleToAscii null-terminates its input. So the given buffer michael@0: // should be at least kBase10MaximalLength + 1 characters long. michael@0: - static const int kBase10MaximalLength = 17; michael@0: + static const MFBT_DATA int kBase10MaximalLength = 17; michael@0: michael@0: // Converts the given double 'v' to ascii. 'v' must not be NaN, +Infinity, or michael@0: // -Infinity. In SHORTEST_SINGLE-mode this restriction also applies to 'v' michael@0: @@ -332,7 +333,7 @@ class DoubleToStringConverter { michael@0: // terminating null-character when computing the maximal output size. michael@0: // The given length is only used in debug mode to ensure the buffer is big michael@0: // enough. michael@0: - static void DoubleToAscii(double v, michael@0: + static MFBT_API void DoubleToAscii(double v, michael@0: DtoaMode mode, michael@0: int requested_digits, michael@0: char* buffer, michael@0: @@ -343,7 +344,7 @@ class DoubleToStringConverter { michael@0: michael@0: private: michael@0: // Implementation for ToShortest and ToShortestSingle. michael@0: - bool ToShortestIeeeNumber(double value, michael@0: + MFBT_API bool ToShortestIeeeNumber(double value, michael@0: StringBuilder* result_builder, michael@0: DtoaMode mode) const; michael@0: michael@0: @@ -351,15 +352,15 @@ class DoubleToStringConverter { michael@0: // corresponding string using the configured infinity/nan-symbol. michael@0: // If either of them is NULL or the value is not special then the michael@0: // function returns false. michael@0: - bool HandleSpecialValues(double value, StringBuilder* result_builder) const; michael@0: + MFBT_API bool HandleSpecialValues(double value, StringBuilder* result_builder) const; michael@0: // Constructs an exponential representation (i.e. 1.234e56). michael@0: // The given exponent assumes a decimal point after the first decimal digit. michael@0: - void CreateExponentialRepresentation(const char* decimal_digits, michael@0: + MFBT_API void CreateExponentialRepresentation(const char* decimal_digits, michael@0: int length, michael@0: int exponent, michael@0: StringBuilder* result_builder) const; michael@0: // Creates a decimal representation (i.e 1234.5678). michael@0: - void CreateDecimalRepresentation(const char* decimal_digits, michael@0: + MFBT_API void CreateDecimalRepresentation(const char* decimal_digits, michael@0: int length, michael@0: int decimal_point, michael@0: int digits_after_point,