1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mfbt/double-conversion/fixed-dtoa.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,56 @@ 1.4 +// Copyright 2010 the V8 project authors. All rights reserved. 1.5 +// Redistribution and use in source and binary forms, with or without 1.6 +// modification, are permitted provided that the following conditions are 1.7 +// met: 1.8 +// 1.9 +// * Redistributions of source code must retain the above copyright 1.10 +// notice, this list of conditions and the following disclaimer. 1.11 +// * Redistributions in binary form must reproduce the above 1.12 +// copyright notice, this list of conditions and the following 1.13 +// disclaimer in the documentation and/or other materials provided 1.14 +// with the distribution. 1.15 +// * Neither the name of Google Inc. nor the names of its 1.16 +// contributors may be used to endorse or promote products derived 1.17 +// from this software without specific prior written permission. 1.18 +// 1.19 +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1.20 +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1.21 +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1.22 +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1.23 +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.24 +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.25 +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1.26 +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1.27 +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1.28 +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1.29 +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1.30 + 1.31 +#ifndef DOUBLE_CONVERSION_FIXED_DTOA_H_ 1.32 +#define DOUBLE_CONVERSION_FIXED_DTOA_H_ 1.33 + 1.34 +#include "utils.h" 1.35 + 1.36 +namespace double_conversion { 1.37 + 1.38 +// Produces digits necessary to print a given number with 1.39 +// 'fractional_count' digits after the decimal point. 1.40 +// The buffer must be big enough to hold the result plus one terminating null 1.41 +// character. 1.42 +// 1.43 +// The produced digits might be too short in which case the caller has to fill 1.44 +// the gaps with '0's. 1.45 +// Example: FastFixedDtoa(0.001, 5, ...) is allowed to return buffer = "1", and 1.46 +// decimal_point = -2. 1.47 +// Halfway cases are rounded towards +/-Infinity (away from 0). The call 1.48 +// FastFixedDtoa(0.15, 2, ...) thus returns buffer = "2", decimal_point = 0. 1.49 +// The returned buffer may contain digits that would be truncated from the 1.50 +// shortest representation of the input. 1.51 +// 1.52 +// This method only works for some parameters. If it can't handle the input it 1.53 +// returns false. The output is null-terminated when the function succeeds. 1.54 +bool FastFixedDtoa(double v, int fractional_count, 1.55 + Vector<char> buffer, int* length, int* decimal_point); 1.56 + 1.57 +} // namespace double_conversion 1.58 + 1.59 +#endif // DOUBLE_CONVERSION_FIXED_DTOA_H_