diff options
Diffstat (limited to 'src/pkg/exp/eval/util.go')
-rw-r--r-- | src/pkg/exp/eval/util.go | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/pkg/exp/eval/util.go b/src/pkg/exp/eval/util.go index bee767d88..6508346dd 100644 --- a/src/pkg/exp/eval/util.go +++ b/src/pkg/exp/eval/util.go @@ -5,35 +5,35 @@ package eval import ( - "bignum"; + "bignum" ) // TODO(austin): Maybe add to bignum in more general form func ratToString(rat *bignum.Rational) string { - n, dnat := rat.Value(); - d := bignum.MakeInt(false, dnat); - w, frac := n.QuoRem(d); - out := w.String(); + n, dnat := rat.Value() + d := bignum.MakeInt(false, dnat) + w, frac := n.QuoRem(d) + out := w.String() if frac.IsZero() { return out } - r := frac.Abs(); - r = r.Mul(bignum.Nat(1e6)); - dec, tail := r.DivMod(dnat); + r := frac.Abs() + r = r.Mul(bignum.Nat(1e6)) + dec, tail := r.DivMod(dnat) // Round last digit if tail.Cmp(dnat.Div(bignum.Nat(2))) >= 0 { dec = dec.Add(bignum.Nat(1)) } // Strip zeros - ten := bignum.Nat(10); + ten := bignum.Nat(10) for !dec.IsZero() { - dec2, r2 := dec.DivMod(ten); + dec2, r2 := dec.DivMod(ten) if !r2.IsZero() { break } - dec = dec2; + dec = dec2 } - out += "." + dec.String(); - return out; + out += "." + dec.String() + return out } |