go源码阅读笔记(math.4)

qq_15437667 · · 3769 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

go源码阅读笔记(math.4)

参考godoc API

API列表

func NaN() float64

函数返回一个IEEE 754“这不是一个数字”值。

func IsNaN(f float64) (is bool)

判断f是否是NaN值

func Inf(sign int) float64

如果sign>=0返回正无穷大,否则返回负无穷大

func IsInf(f float64, sign int) bool

判断其是否是无穷大数

func Float32bits(f float32) uint32

函数返回浮点数f的IEEE 754格式二进制表示的值对应的4字节无符号整数(每位值不变)。主要是用于位运算之类的,转换成无符号整数,这样不会使用浮点运算器,速度快

func Float32frombits(b uint32) float32

将4字节无符号整数每位不变,转换成float32值,与Float32bits对应

func Float64bits(f float64) uint64

与Float32bits类似

func Float64frombits(b uint64) float64

与Float32frombits类似

func Signbit(x float64) bool

func Signbit(x float64) bool {
    return Float64bits(x)&(1<<63) != 0
}

如果x是负数或者负0(一种0的表示方式),则返回true

func Copysign(x, y float64) float64

// Copysign returns a value with the magnitude
// of x and the sign of y.
func Copysign(x, y float64) float64 {
    const sign = 1 << 63
    return Float64frombits(Float64bits(x)&^sign | Float64bits(y)&sign)
}

返回拥有x的量值(绝对值)和y的标志位(正负号)的浮点数。

func Ceil(x float64) float64

返回不小于x的最小整数(的浮点值)

特殊值场景

Ceil(±0) = ±0
Ceil(±Inf) = ±Inf
Ceil(NaN) = NaN

func Floor(x float64) float64

返回不大于x的最小整数(的浮点值)

特殊值场景

Floor(±0) = ±0
Floor(±Inf) = ±Inf
Floor(NaN) = NaN

func Trunc(x float64) float64

返回x的整数部分(浮点数类型)

特殊值场景

Trunc(±0) = ±0
Trunc(±Inf) = ±Inf
Trunc(NaN) = NaN

func Modf(f float64) (int float64, frac float64)

返回f的整数部分和小数部分,结果的正负号和都x相同,比如1.1返回1.0和0.1,-1.1返回-1.0和-0.1

特殊值场景

Modf(±Inf) = ±Inf, NaN
Modf(NaN) = NaN, NaN

今天太晚了,后面的下次再补。

func Nextafter(x, y float64) (r float64)

func Abs(x float64) float64
func Max(x, y float64) float64
func Min(x, y float64) float64
func Dim(x, y float64) float64
func Mod(x, y float64) float64
func Remainder(x, y float64) float64
func Sqrt(x float64) float64
func Cbrt(x float64) float64
func Hypot(p, q float64) float64
func Sin(x float64) float64
func Cos(x float64) float64
func Tan(x float64) float64
func Sincos(x float64) (sin, cos float64)
func Asin(x float64) float64
func Acos(x float64) float64
func Atan(x float64) float64
func Atan2(y, x float64) float64
func Sinh(x float64) float64
func Cosh(x float64) float64
func Tanh(x float64) float64
func Asinh(x float64) float64
func Acosh(x float64) float64
func Atanh(x float64) float64
func Log(x float64) float64
func Log1p(x float64) float64
func Log2(x float64) float64
func Log10(x float64) float64
func Logb(x float64) float64
func Ilogb(x float64) int
func Frexp(f float64) (frac float64, exp int)
func Ldexp(frac float64, exp int) float64
func Exp(x float64) float64
func Expm1(x float64) float64
func Exp2(x float64) float64
func Pow(x, y float64) float64
func Pow10(e int) float64
func Gamma(x float64) float64
func Lgamma(x float64) (lgamma float64, sign int)
func Erf(x float64) float64
func Erfc(x float64) float64
func J0(x float64) float64
func J1(x float64) float64
func Jn(n int, x float64) float64
func Y0(x float64) float64
func Y1(x float64) float64
func Yn(n int, x float64) float64


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:qq_15437667

查看原文:go源码阅读笔记(math.4)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3769 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传