Commit 2e3bd890 authored by Robert Griesemer's avatar Robert Griesemer

strconv: fix documentation

Also: minor performance fix for large precision results.

benchmark                                   old ns/op    new ns/op    delta
strconv_test.BenchmarkFormatFloatDecimal         2734         2734   +0.00%
strconv_test.BenchmarkFormatFloat                3141         3139   -0.06%
strconv_test.BenchmarkFormatFloatExp             8970         8989   +0.21%
strconv_test.BenchmarkFormatFloatBig             3228         3208   -0.62%

Fixes #2535.

R=rsc
CC=golang-dev
https://golang.org/cl/5435089
parent bab4dec1
...@@ -119,10 +119,10 @@ Error: ...@@ -119,10 +119,10 @@ Error:
return n, &NumError{s0, err} return n, &NumError{s0, err}
} }
// ParseInt interprets a string s in an arbitrary base b (2 to 36) // ParseInt interprets a string s in the given base (2 to 36) and
// and returns the corresponding value n. If b == 0, the base // returns the corresponding value i. If base == 0, the base is
// is taken from the string prefix: base 16 for "0x", base 8 for "0", // implied by the string's prefix: base 16 for "0x", base 8 for
// and base 10 otherwise. // "0", and base 10 otherwise.
// //
// The bitSize argument specifies the integer type // The bitSize argument specifies the integer type
// that the result must fit into. Bit sizes 0, 8, 16, 32, and 64 // that the result must fit into. Bit sizes 0, 8, 16, 32, and 64
......
...@@ -46,7 +46,7 @@ var float64info = floatInfo{52, 11, -1023} ...@@ -46,7 +46,7 @@ var float64info = floatInfo{52, 11, -1023}
// because correct rounding and the number of digits // because correct rounding and the number of digits
// needed to identify f depend on the precision of the representation. // needed to identify f depend on the precision of the representation.
func FormatFloat(f float64, fmt byte, prec, bitSize int) string { func FormatFloat(f float64, fmt byte, prec, bitSize int) string {
return string(genericFtoa(make([]byte, 0, 16), f, fmt, prec, bitSize)) return string(genericFtoa(make([]byte, 0, max(prec+4, 24)), f, fmt, prec, bitSize))
} }
// AppendFloat appends the string form of the floating-point number f, // AppendFloat appends the string form of the floating-point number f,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment