github.com/jxskiss/gopkg/v2@v2.14.9-0.20240514120614-899f3e7952b4/unsafe/forceexport/testpkg/math_floor.go (about) 1 package testpkg 2 3 import "math" 4 5 func Floor(x float64) float64 { 6 return floor(x) 7 } 8 9 func floor(x float64) float64 { 10 if x == 0 || math.IsNaN(x) || math.IsInf(x, 0) { 11 return x 12 } 13 if x < 0 { 14 d, fract := math.Modf(-x) 15 if fract != 0.0 { 16 d = d + 1 17 } 18 return -d 19 } 20 d, _ := math.Modf(x) 21 return d 22 }