package number import ( "cmp" "math" ) func Fixed3(num float64) float64 { return fixed(num, 3) } func Fixed12(num float64) float64 { return fixed(num, 12) } func fixed(num float64, precision int) float64 { output := math.Pow(10, float64(precision)) return float64(round(num*output)) / output } func round(num float64) int { return int(num + math.Copysign(0.5, num)) } func Max[T cmp.Ordered](x, y T) T { if cmp.Compare(x, y) == 1 { return x } return y }