©
本文档使用 PHP中文网手册 发布
import "math"
概述
索引
示例
子目录
math 包提供了基本的常量和数学函数。
软件包不保证跨体系结构的位相同结果。
常量
func Abs(x float64) float64
func Acos(x float64) float64
func Acosh(x float64) float64
func Asin(x float64) float64
func Asinh(x float64) float64
func Atan(x float64) float64
func Atan2(y, x float64) float64
func Atanh(x float64) float64
func Cbrt(x float64) float64
func Ceil(x float64) float64
func Copysign(x, y float64) float64
func Cos(x float64) float64
func Cosh(x float64) float64
func Dim(x, y float64) float64
func Erf(x float64) float64
func Erfc(x float64) float64
func Exp(x float64) float64
func Exp2(x float64) float64
func Expm1(x float64) float64
func Float32bits(f float32) uint32
func Float32frombits(b uint32) float32
func Float64bits(f float64) uint64
func Float64frombits(b uint64) float64
func Floor(x float64) float64
func Frexp(f float64) (frac float64, exp int)
func Gamma(x float64) float64
func Hypot(p, q float64) float64
func Ilogb(x float64) int
func Inf(sign int) float64
func IsInf(f float64, sign int) bool
func IsNaN(f float64) (is bool)
func J0(x float64) float64
func J1(x float64) float64
func Jn(n int, x float64) float64
func Ldexp(frac float64, exp int) float64
func Lgamma(x float64) (lgamma float64, sign int)
func Log(x float64) float64
func Log10(x float64) float64
func Log1p(x float64) float64
func Log2(x float64) float64
func Logb(x float64) float64
func Max(x, y float64) float64
func Min(x, y float64) float64
func Mod(x, y float64) float64
func Modf(f float64) (int float64, frac float64)
func NaN() float64
func Nextafter(x, y float64) (r float64)
func Nextafter32(x, y float32) (r float32)
func Pow(x, y float64) float64
func Pow10(n int) float64
func Remainder(x, y float64) float64
func Signbit(x float64) bool
func Sin(x float64) float64
func Sincos(x float64) (sin, cos float64)
func Sinh(x float64) float64
func Sqrt(x float64) float64
func Tan(x float64) float64
func Tanh(x float64) float64
func Trunc(x float64) float64
func Y0(x float64) float64
func Y1(x float64) float64
func Yn(n int, x float64) float64
Sqrt
abs.go acosh.go asin.go asinh.go atan.go atan2.go atanh.go bits.go cbrt.go const.go copysign.go dim.go erf.go exp.go expm1.go floor.go floor_asm.go frexp.go gamma.go hypot.go j0.go j1.go jn.go ldexp.go lgamma.go log.go log10.go log1p.go logb.go mod.go modf.go nextafter.go pow.go pow10.go remainder.go signbit.go sin.go sincos.go sinh.go sqrt.go tan.go tanh.go unsafe.go
数学常数。
const ( E = 2.71828182845904523536028747135266249775724709369995957496696763 // http://oeis.org/A001113 Pi = 3.14159265358979323846264338327950288419716939937510582097494459 // http://oeis.org/A000796 Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // http://oeis.org/A001622 Sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974 // http://oeis.org/A002193 SqrtE = 1.64872127070012814684865078781416357165377610071014801157507931 // http://oeis.org/A019774 SqrtPi = 1.77245385090551602729816748334114518279754945612238712821380779 // http://oeis.org/A002161 SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038 // http://oeis.org/A139339 Ln2 = 0.693147180559945309417232121458176568075500134360255254120680009 // http://oeis.org/A002162 Log2E = 1 / Ln2 Ln10 = 2.30258509299404568401799145468436420760110148862877297603332790 // http://oeis.org/A002392 Log10E = 1 / Ln10)
浮点限制值。最大值是该类型可表示的最大有限值。SmallestNonzero 是类型可表示的最小正值,非零值。
const ( MaxFloat32 = 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1) / 2**23 SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23) MaxFloat64 = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52 SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52))
整数限制值。
const ( MaxInt8 = 1<<7 - 1 MinInt8 = -1 << 7 MaxInt16 = 1<<15 - 1 MinInt16 = -1 << 15 MaxInt32 = 1<<31 - 1 MinInt32 = -1 << 31 MaxInt64 = 1<<63 - 1 MinInt64 = -1 << 63 MaxUint8 = 1<<8 - 1 MaxUint16 = 1<<16 - 1 MaxUint32 = 1<<32 - 1 MaxUint64 = 1<<64 - 1)
func Abs(x float64) float64
Abs 返回x的绝对值。
特殊情况是:
Abs(±Inf) = +InfAbs(NaN) = NaN
func Acos(x float64) float64
Acos 返回x的弧度,弧度。
特例是:
Acos(x) = NaN if x < -1 or x > 1
func Acosh(x float64) float64
Acosh 返回x的反双曲余弦。
特殊情况是:
Acosh(+Inf) = +InfAcosh(x) = NaN if x < 1Acosh(NaN) = NaN
func Asin(x float64) float64
Asin返回x的弧度,以弧度表示。
特殊情况是:
Asin(±0) = ±0Asin(x) = NaN if x < -1 or x > 1
func Asinh(x float64) float64
Asinh返回x的反双曲正弦。
特殊情况是:
Asinh(±0) = ±0Asinh(±Inf) = ±InfAsinh(NaN) = NaN
func Atan(x float64) float64
Atan以弧度返回x的反正切。
特殊情况是:
Atan(±0) = ±0Atan(±Inf) = ±Pi/2
func Atan2(y, x float64) float64
Atan2返回 y/x 的反正切,使用两者的符号来确定返回值的象限。
特殊情况是(按顺序):
Atan2(y, NaN) = NaNAtan2(NaN, x) = NaNAtan2(+0, x>=0) = +0Atan2(-0, x>=0) = -0Atan2(+0, x<=-0) = +PiAtan2(-0, x<=-0) = -PiAtan2(y>0, 0) = +Pi/2Atan2(y<0, 0) = -Pi/2Atan2(+Inf, +Inf) = +Pi/4Atan2(-Inf, +Inf) = -Pi/4Atan2(+Inf, -Inf) = 3Pi/4Atan2(-Inf, -Inf) = -3Pi/4Atan2(y, +Inf) = 0Atan2(y>0, -Inf) = +PiAtan2(y<0, -Inf) = -PiAtan2(+Inf, x) = +Pi/2Atan2(-Inf, x) = -Pi/2
func Atanh(x float64) float64
Atanh返回x的反双曲正切。
特殊情况是:
Atanh(1) = +InfAtanh(±0) = ±0Atanh(-1) = -InfAtanh(x) = NaN if x < -1 or x > 1Atanh(NaN) = NaN
func Cbrt(x float64) float64
Cbrt返回x的立方根。
特殊情况是:
Cbrt(±0) = ±0Cbrt(±Inf) = ±InfCbrt(NaN) = NaN
func Ceil(x float64) float64
Ceil返回大于或等于x的最小整数值。
特殊情况是:
Ceil(±0) = ±0Ceil(±Inf) = ±InfCeil(NaN) = NaN
func Copysign(x, y float64) float64
Copysign 返回值为x的大小和y的符号。
func Cos(x float64) float64
Cos返回弧度参数x的余弦。
特殊情况是:
Cos(±Inf) = NaNCos(NaN) = NaN
func Cosh(x float64) float64
Cosh返回x的双曲余弦。
特殊情况是:
Cosh(±0) = 1Cosh(±Inf) = +InfCosh(NaN) = NaN
func Dim(x, y float64) float64
Dim返回xy或0的最大值。
特殊情况是:
Dim(+Inf, +Inf) = NaNDim(-Inf, -Inf) = NaNDim(x, NaN) = Dim(NaN, x) = NaN
func Erf(x float64) float64
Erf返回x的错误函数。
特殊情况是:
Erf(+Inf) = 1Erf(-Inf) = -1Erf(NaN) = NaN
func Erfc(x float64) float64
Erfc返回x的互补误差函数。
特殊情况是:
Erfc(+Inf) = 0Erfc(-Inf) = 2Erfc(NaN) = NaN
func Exp(x float64) float64
Exp返回e ** x,即x的基数e指数。
特殊情况是:
Exp(+Inf) = +InfExp(NaN) = NaN
非常大的值溢出到0或+ Inf。非常小的值下溢到1。
func Exp2(x float64) float64
Exp2返回2 ** x,x的基数为2的指数。
特殊情况与Exp相同。
func Expm1(x float64) float64
Expm1返回e ** x - 1,即x减1的基e指数。当x接近零时,它比Exp(x) - 1更准确。
特殊情况是:
Expm1(+Inf) = +InfExpm1(-Inf) = -1Expm1(NaN) = NaN
非常大的值溢出到-1或+ Inf。
func Float32bits(f float32) uint32
Float32bits返回f的IEEE 754二进制表示。
func Float32frombits(b uint32) float32
Float32frombits返回对应于IEEE 754二进制表示b的浮点数。
func Float64bits(f float64) uint64
Float64bits返回f的IEEE 754二进制表示。
func Float64frombits(b uint64) float64
Float64frombits返回对应于IEEE 754二进制表示的浮点数b。
func Floor(x float64) float64
Floor返回小于或等于x的最大整数值。
特殊情况是:
Floor(±0) = ±0Floor(±Inf) = ±InfFloor(NaN) = NaN
func Frexp(f float64) (frac float64, exp int)
Frexp将f分解为归一化分数和两个整数幂。它返回满足f == frac×2 ** exp的frac和exp,并且在区间[½,1)中具有frac的绝对值。
特殊情况是:
Frexp(±0) = ±0, 0Frexp(±Inf) = ±Inf, 0Frexp(NaN) = NaN, 0
func Gamma(x float64) float64
Gamma返回x的Gamma函数。
特殊情况是:
Gamma(+Inf) = +InfGamma(+0) = +InfGamma(-0) = -InfGamma(x) = NaN for integer x < 0Gamma(-Inf) = NaNGamma(NaN) = NaN
func Hypot(p, q float64) float64
Hypot返回Sqrt(p * p + q * q),注意避免不必要的溢出和下溢。
特殊情况是:
Hypot(±Inf, q) = +InfHypot(p, ±Inf) = +InfHypot(NaN, q) = NaNHypot(p, NaN) = NaN
func Ilogb(x float64) int
Ilogb以整数形式返回x的二进制指数。
特殊情况是:
Ilogb(±Inf) = MaxInt32Ilogb(0) = MinInt32Ilogb(NaN) = MaxInt32
func Inf(sign int) float64
如果符号> = 0,则Inf返回正无穷大;如果符号<0,则返回负无穷大。
func IsInf(f float64, sign int) bool
根据符号,IsInf报告f是否是无穷大。如果符号> 0,则IsInf报告f是否为正无穷。如果符号<0,则IsInf报告f是否为负无穷。如果符号== 0,则IsInf报告f是无穷大。
func IsNaN(f float64) (is bool)
IsNaN报告f是否是IEEE 754“非数字”值。
func J0(x float64) float64
J0返回第一类的零阶Bessel函数。
特殊情况是:
J0(±Inf) = 0J0(0) = 1J0(NaN) = NaN
func J1(x float64) float64
J1返回第一类的一阶贝塞尔函数。
特殊情况是:
J1(±Inf) = 0J1(NaN) = NaN
func Jn(n int, x float64) float64
Jn返回第一类的n阶Bessel函数。
特殊情况是:
Jn(n, ±Inf) = 0Jn(n, NaN) = NaN
func Ldexp(frac float64, exp int) float64
Ldexp 与 Frexp 相反。它返回 frac ×2 ** exp。
特殊情况是:
Ldexp(±0, exp) = ±0Ldexp(±Inf, exp) = ±InfLdexp(NaN, exp) = NaN
func Lgamma(x float64) (lgamma float64, sign int)
Lgamma返回Gamma(x)的自然对数和符号(-1或+1)。
特殊情况是:
Lgamma(+Inf) = +InfLgamma(0) = +InfLgamma(-integer) = +InfLgamma(-Inf) = -InfLgamma(NaN) = NaN
func Log(x float64) float64
Log返回x的自然对数。
特殊情况是:
Log(+Inf) = +InfLog(0) = -InfLog(x < 0) = NaNLog(NaN) = NaN
func Log10(x float64) float64
Log10返回x的小数对数。特殊情况与Log相同。
func Log1p(x float64) float64
Log1p返回自然对数1加上其参数x。当x接近零时,它比Log(1 + x)更准确。
特殊情况是:
Log1p(+Inf) = +InfLog1p(±0) = ±0Log1p(-1) = -InfLog1p(x < -1) = NaNLog1p(NaN) = NaN
func Log2(x float64) float64
Log2返回x的二进制对数。特殊情况与Log相同。
func Logb(x float64) float64
Logb返回x的二进制指数。
特殊情况是:
Logb(±Inf) = +InfLogb(0) = -InfLogb(NaN) = NaN
func Max(x, y float64) float64
Max返回x或y中的较大值。
特殊情况是:
Max(x, +Inf) = Max(+Inf, x) = +InfMax(x, NaN) = Max(NaN, x) = NaNMax(+0, ±0) = Max(±0, +0) = +0Max(-0, -0) = -0
func Min(x, y float64) float64
Min返回x或y中的较小者。
特殊情况是:
Min(x, -Inf) = Min(-Inf, x) = -InfMin(x, NaN) = Min(NaN, x) = NaNMin(-0, ±0) = Min(±0, -0) = -0
func Mod(x, y float64) float64
Mod返回x / y的浮点余数。结果的幅度小于y,其符号与x的符号一致。
特殊情况是:
Mod(±Inf, y) = NaNMod(NaN, y) = NaNMod(x, 0) = NaNMod(x, ±Inf) = xMod(x, NaN) = NaN
func Modf(f float64) (int float64, frac float64)
Modf返回总和为f的整数和小数浮点数。这两个值都与f有相同的符号。
特殊情况是:
Modf(±Inf) = ±Inf, NaNModf(NaN) = NaN, NaN
func NaN() float64
NaN 返回 IEEE 754“not-a-number”值。
func Nextafter(x, y float64) (r float64)
Nextafter 将x后的下一个可表示的 float64 值返回y。
特殊情况是:
Nextafter(x, x) = xNextafter(NaN, y) = NaNNextafter(x, NaN) = NaN
func Nextafter32(x, y float32) (r float32)
Nextafter32 返回x向y后的下一个可表示的 float32 值。
特殊情况是:
Nextafter32(x, x) = xNextafter32(NaN, y) = NaNNextafter32(x, NaN) = NaN
func Pow(x, y float64) float64
Pow 返回x**y,y 的基 x 指数。
特殊情况是(按顺序):
Pow(x, ±0) = 1 for any xPow(1, y) = 1 for any yPow(x, 1) = x for any xPow(NaN, y) = NaNPow(x, NaN) = NaNPow(±0, y) = ±Inf for y an odd integer < 0Pow(±0, -Inf) = +InfPow(±0, +Inf) = +0Pow(±0, y) = +Inf for finite y < 0 and not an odd integerPow(±0, y) = ±0 for y an odd integer > 0Pow(±0, y) = +0 for finite y > 0 and not an odd integerPow(-1, ±Inf) = 1Pow(x, +Inf) = +Inf for |x| > 1Pow(x, -Inf) = +0 for |x| > 1Pow(x, +Inf) = +0 for |x| < 1Pow(x, -Inf) = +Inf for |x| < 1Pow(+Inf, y) = +Inf for y > 0Pow(+Inf, y) = +0 for y < 0Pow(-Inf, y) = Pow(-0, -y)Pow(x, y) = NaN for finite x < 0 and finite non-integer y
func Pow10(n int) float64
Pow10 返回 10**n,即n的基数为10的指数。
特殊情况是:
Pow10(n) = 0 for n < -323Pow10(n) = +Inf for n > 308
func Remainder(x, y float64) float64
余数返回 x/y 的 IEEE 754 浮点余数。
特殊情况是:
Remainder(±Inf, y) = NaNRemainder(NaN, y) = NaNRemainder(x, 0) = NaNRemainder(x, ±Inf) = xRemainder(x, NaN) = NaN
func Signbit(x float64) bool
如果x是负值或负值,则 Signbit 返回 true。
func Sin(x float64) float64
Sin 返回弧度参数x的正弦值。
特殊情况是:
Sin(±0) = ±0Sin(±Inf) = NaNSin(NaN) = NaN
func Sincos(x float64) (sin, cos float64)
Sincos 返回Sin(x),Cos(x)。
特殊情况是:
Sincos(±0) = ±0, 1Sincos(±Inf) = NaN, NaNSincos(NaN) = NaN, NaN
func Sinh(x float64) float64
Sinh 返回x的双曲正弦。
特殊情况是:
Sinh(±0) = ±0Sinh(±Inf) = ±InfSinh(NaN) = NaN
func Sqrt(x float64) float64
Sqrt 返回x的平方根。
特殊情况是:
Sqrt(+Inf) = +InfSqrt(±0) = ±0Sqrt(x < 0) = NaNSqrt(NaN) = NaN
package mainimport ("fmt""math")func main() {const ( a = 3 b = 4) c := math.Sqrt(a*a + b*b) fmt.Printf("%.1f", c)}
func Tan(x float64) float64
Tan 返回弧度参数x的切线。
特殊情况是:
Tan(±0) = ±0Tan(±Inf) = NaNTan(NaN) = NaN
func Tanh(x float64) float64
Tanh 返回x的双曲正切。
特殊情况是:
Tanh(±0) = ±0Tanh(±Inf) = ±1Tanh(NaN) = NaN
func Trunc(x float64) float64
Trunc 返回x的整数值。
特殊情况是:
Trunc(±0) = ±0Trunc(±Inf) = ±InfTrunc(NaN) = NaN
func Y0(x float64) float64
Y0 返回第二类的零阶 Bessel 函数。
特殊情况是:
Y0(+Inf) = 0Y0(0) = -InfY0(x < 0) = NaNY0(NaN) = NaN
func Y1(x float64) float64
Y1返回第二类的一阶贝塞尔函数。
特殊情况是:
Y1(+Inf) = 0Y1(0) = -InfY1(x < 0) = NaNY1(NaN) = NaN
func Yn(n int, x float64) float64
Yn 返回第二类的n阶 Bessel 函数。
特殊情况是:
Yn(n, +Inf) = 0Yn(n ≥ 0, 0) = -InfYn(n < 0, 0) = +Inf if n is odd, -Inf if n is evenYn(n, x < 0) = NaNYn(n, NaN) = NaN
名称 | 概述 |
---|---|
big | 包大实现了任意精度算术(big numbers)。 |
bits | 封装位为预先声明的无符号整数类型实现位计数和操作函数。 |
complx | Package cmplx为复数提供基本的常量和数学函数。 |
rand | 包rand执行伪随机数生成器。 |