From 2e3bd890c5942a00f6271ffe419c1e62ef5e2a73 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 7 Dec 2011 14:45:45 -0800 Subject: [PATCH] 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 --- src/pkg/strconv/atoi.go | 8 ++++---- src/pkg/strconv/ftoa.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pkg/strconv/atoi.go b/src/pkg/strconv/atoi.go index 438d496948..b0e584e193 100644 --- a/src/pkg/strconv/atoi.go +++ b/src/pkg/strconv/atoi.go @@ -119,10 +119,10 @@ Error: return n, &NumError{s0, err} } -// ParseInt interprets a string s in an arbitrary base b (2 to 36) -// and returns the corresponding value n. If b == 0, the base -// is taken from the string prefix: base 16 for "0x", base 8 for "0", -// and base 10 otherwise. +// ParseInt interprets a string s in the given base (2 to 36) and +// returns the corresponding value i. If base == 0, the base is +// implied by the string's prefix: base 16 for "0x", base 8 for +// "0", and base 10 otherwise. // // The bitSize argument specifies the integer type // that the result must fit into. Bit sizes 0, 8, 16, 32, and 64 diff --git a/src/pkg/strconv/ftoa.go b/src/pkg/strconv/ftoa.go index b2413eee6b..692e3e4087 100644 --- a/src/pkg/strconv/ftoa.go +++ b/src/pkg/strconv/ftoa.go @@ -46,7 +46,7 @@ var float64info = floatInfo{52, 11, -1023} // because correct rounding and the number of digits // needed to identify f depend on the precision of the representation. 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, -- 2.48.1