Commit f6580319 authored by Robert Griesemer's avatar Robert Griesemer

math/big: fix silly bug in Int64 accessor

Change-Id: If335d45ea1ab6c8aeeb47515f97680e2c1d651f3
Reviewed-on: https://go-review.googlesource.com/7522Reviewed-by: default avatarAlan Donovan <adonovan@google.com>
parent 3eb84c89
......@@ -835,7 +835,7 @@ func (x *Float) Int64() (int64, Accuracy) {
if x.neg {
i = -i
}
if x.MinPrec() <= 63 {
if x.MinPrec() <= uint(x.exp) {
return i, Exact
}
return i, acc // x truncated
......
......@@ -808,12 +808,14 @@ func TestFloatInt64(t *testing.T) {
{"-12345.000000000000000000001", -12345, Above},
{"-12345.0", -12345, Exact},
{"-1.000000000000000000001", -1, Above},
{"-1.5", -1, Above},
{"-1", -1, Exact},
{"-1e-1000", 0, Above},
{"0", 0, Exact},
{"1e-1000", 0, Below},
{"1", 1, Exact},
{"1.000000000000000000001", 1, Below},
{"1.5", 1, Below},
{"12345.0", 12345, Exact},
{"12345.000000000000000000001", 12345, Below},
{"9223372036854775807", 9223372036854775807, Exact},
......
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