Commit baf0747d authored by Rob Pike's avatar Rob Pike

fix minor bug uncovered by new constant evaluator

R=gri
OCL=14025
CL=14025
parent 67c4cc47
...@@ -11,15 +11,13 @@ package fmt ...@@ -11,15 +11,13 @@ package fmt
f.ud(^0).putnl(); // print string with automatic newline f.ud(^0).putnl(); // print string with automatic newline
*/ */
// import sys "sys" // export Fmt, New;
//export Fmt, New;
const NByte = 64; const NByte = 64;
const NPows10 = 160; const NPows10 = 160;
var ldigits string = "0123456789abcdef"; // BUG: Should be const var ldigits string = "0123456789abcdef" // var not const because we take its address
var udigits string = "0123456789ABCDEF"; // BUG: Should be const var udigits string = "0123456789ABCDEF"
var pows10 [NPows10] double; var pows10 [NPows10] double;
func init() { func init() {
...@@ -355,7 +353,7 @@ func unpack(a double) (negative bool, exp int, num double) { ...@@ -355,7 +353,7 @@ func unpack(a double) (negative bool, exp int, num double) {
// find g,e such that a = g*10^e. // find g,e such that a = g*10^e.
// guess 10-exponent using 2-exponent, then fine tune. // guess 10-exponent using 2-exponent, then fine tune.
g, e2 := sys.frexp(a); g, e2 := sys.frexp(a);
e := int(e2 * .301029995663981); e := int(double(e2) * .301029995663981);
g = a * pow10(-e); g = a * pow10(-e);
for g < 1 { for g < 1 {
e--; e--;
......
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