Prevent unnecessary int64 overflow in NewFromFloat

This commit is contained in:
Nathan VanBenschoten 2016-01-13 13:27:32 -05:00
parent f95dd20cca
commit eae6d13435
2 changed files with 2 additions and 1 deletions

View file

@ -140,7 +140,7 @@ func NewFromFloat(value float64) Decimal {
floor := math.Floor(value)
// fast path, where float is an int
if floor == value && !math.IsInf(value, 0) {
if floor == value && value <= math.MaxInt64 && value >= math.MinInt64 {
return New(int64(value), 0)
}

View file

@ -31,6 +31,7 @@ var testTable = map[float64]string{
.1000000000000003: "0.1000000000000003",
.1000000000000005: "0.1000000000000005",
.1000000000000008: "0.1000000000000008",
1e25: "10000000000000000000000000",
}
var testTableScientificNotation = map[string]string{