diff options
Diffstat (limited to 'src/pkg/exp/eval/util.go')
-rw-r--r-- | src/pkg/exp/eval/util.go | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/pkg/exp/eval/util.go b/src/pkg/exp/eval/util.go deleted file mode 100644 index ffe13e170..000000000 --- a/src/pkg/exp/eval/util.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package eval - -import ( - "exp/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() - if frac.IsZero() { - return out - } - - 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) - for !dec.IsZero() { - dec2, r2 := dec.DivMod(ten) - if !r2.IsZero() { - break - } - dec = dec2 - } - out += "." + dec.String() - return out -} |