1 Star 0 Fork 1

王布衣 / num

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
modf.go 709 Bytes
一键复制 编辑 原始数据 按行查看 历史
王布衣 提交于 2024-02-08 08:51 . first commit
package math32
// Modf returns integer and fractional floating-point numbers
// that sum to f. Both values have the same sign as f.
//
// Special cases are:
//
// Modf(±Inf) = ±Inf, NaN
// Modf(NaN) = NaN, NaN
func Modf(f float32) (int float32, frac float32) {
return modf(f)
}
func modf(f float32) (int float32, frac float32) {
if f < 1 {
switch {
case f < 0:
int, frac = Modf(-f)
return -int, -frac
case f == 0:
return f, f // Return -0, -0 when f == -0
}
return 0, f
}
x := Float32bits(f)
e := uint(x>>shift)&mask - bias
// Keep the top 9+e bits, the integer part; clear the rest.
if e < 32-9 {
x &^= 1<<(32-9-e) - 1
}
int = Float32frombits(x)
frac = f - int
return
}
Go
1
https://gitee.com/quant1x/num.git
git@gitee.com:quant1x/num.git
quant1x
num
num
v0.2.9

搜索帮助

53164aa7 5694891 3bd8fe86 5694891