cubefs

Форк
0
31 строка · 612.0 Байт
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
}
32

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.