go-ml.dev/pkg/base@v0.0.0-20200610162856-60c38abac71b/fu/round.go (about) 1 package fu 2 3 func Round64(v float64, n int) float64 { 4 k := float64(10) 5 for i := 1; i < n; i++ { 6 k *= 10 7 } 8 return float64(int64(v*k)) / k 9 } 10 11 func Round64s(v []float64, n int) []float64 { 12 r := make([]float64, len(v)) 13 for i, x := range v { 14 r[i] = Round64(x, n) 15 } 16 return r 17 } 18 19 func Round32(v float32, n int) float32 { 20 k := float32(10) 21 for i := 1; i < n; i++ { 22 k *= 10 23 } 24 return float32(int32(v*k)) / k 25 } 26 27 func Round32s(v []float32, n int) []float32 { 28 r := make([]float32, len(v)) 29 for i, x := range v { 30 r[i] = Round32(x, n) 31 } 32 return r 33 }