Commit 5bf420f0 authored by Evan Shaw's avatar Evan Shaw Committed by Robert Griesemer

pidigits: Remove TODO, minor improvements

I tried adding a Scale method to big.Int and it didn't make any noticeable
difference, so I'm removing my TODO.

Also got rid of a few obvious allocations that I missed earlier for a modest
improvement (~5%).

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/2711043
parent a8c4da99
......@@ -49,6 +49,7 @@ var silent = flag.Bool("s", false, "don't print result")
var (
tmp1 = big.NewInt(0)
tmp2 = big.NewInt(0)
tmp3 = big.NewInt(0)
y2 = big.NewInt(0)
bigk = big.NewInt(0)
numer = big.NewInt(1)
......@@ -80,7 +81,6 @@ func extract_digit() int64 {
}
func next_term(k int64) {
// TODO(eds) If big.Int ever gets a Scale method, y2 and bigk could be int64
y2.SetInt64(k*2 + 1)
bigk.SetInt64(k)
......@@ -92,8 +92,8 @@ func next_term(k int64) {
}
func eliminate_digit(d int64) {
tmp := big.NewInt(0).Set(denom)
accum.Sub(accum, tmp.Mul(tmp, big.NewInt(d)))
tmp3.SetInt64(d)
accum.Sub(accum, tmp3.Mul(denom, tmp3))
accum.Mul(accum, ten)
numer.Mul(numer, ten)
}
......
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