Last change
on this file since 822 was 822, checked in by yakumo.izuru, 22 months ago |
Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.
Signed-off-by: Izuru Yakumo <yakumo.izuru@…>
|
File size:
612 bytes
|
Rev | Line | |
---|
[822] | 1 | package humanize
|
---|
| 2 |
|
---|
| 3 | import (
|
---|
| 4 | "math/big"
|
---|
| 5 | )
|
---|
| 6 |
|
---|
| 7 | // order of magnitude (to a max order)
|
---|
| 8 | func oomm(n, b *big.Int, maxmag int) (float64, int) {
|
---|
| 9 | mag := 0
|
---|
| 10 | m := &big.Int{}
|
---|
| 11 | for n.Cmp(b) >= 0 {
|
---|
| 12 | n.DivMod(n, b, m)
|
---|
| 13 | mag++
|
---|
| 14 | if mag == maxmag && maxmag >= 0 {
|
---|
| 15 | break
|
---|
| 16 | }
|
---|
| 17 | }
|
---|
| 18 | return float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag
|
---|
| 19 | }
|
---|
| 20 |
|
---|
| 21 | // total order of magnitude
|
---|
| 22 | // (same as above, but with no upper limit)
|
---|
| 23 | func oom(n, b *big.Int) (float64, int) {
|
---|
| 24 | mag := 0
|
---|
| 25 | m := &big.Int{}
|
---|
| 26 | for n.Cmp(b) >= 0 {
|
---|
| 27 | n.DivMod(n, b, m)
|
---|
| 28 | mag++
|
---|
| 29 | }
|
---|
| 30 | return float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag
|
---|
| 31 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.