math

math包

  • 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(显示源文件)

func Abs(x float64) float64

Abs 返回x的绝对值。

特殊情况是:

Abs(±Inf) = +Inf Abs(NaN) = NaN

func Acos(显示源文件)

func Acos(x float64) float64

Acos 返回x的弧度,弧度。

特例是:

Acos(x) = NaN if x < -1 or x > 1

func Acosh(显示源文件)

func Acosh(x float64) float64

Acosh 返回x的反双曲余弦。

特殊情况是:

Acosh(+Inf) = +Inf Acosh(x) = NaN if x < 1 Acosh(NaN) = NaN

func Asin(显示源文件)

func Asin(x float64) float64

Asin返回x的弧度,以弧度表示。

特殊情况是:

Asin(±0) = ±0 Asin(x) = NaN if x < -1 or x > 1

func Asinh(显示源文件)

func Asinh(x float64) float64

Asinh返回x的反双曲正弦。

特殊情况是:

Asinh(±0) = ±0 Asinh(±Inf) = ±Inf Asinh(NaN) = NaN

func Atan(显示源文件)

func Atan(x float64) float64

Atan以弧度返回x的反正切。

特殊情况是:

Atan(±0) = ±0 Atan(±Inf) = ±Pi/2

func Atan2(显示源文件)

func Atan2(y, x float64) float64

Atan2返回 y/x 的反正切,使用两者的符号来确定返回值的象限。

特殊情况是(按顺序):

Atan2(y, NaN) = NaN Atan2(NaN, x) = NaN Atan2(+0, x>=0) = +0 Atan2(-0, x>=0) = -0 Atan2(+0, x<=-0) = +Pi Atan2(-0, x<=-0) = -Pi Atan2(y>0, 0) = +Pi/2 Atan2(y<0, 0) = -Pi/2 Atan2(+Inf, +Inf) = +Pi/4 Atan2(-Inf, +Inf) = -Pi/4 Atan2(+Inf, -Inf) = 3Pi/4 Atan2(-Inf, -Inf) = -3Pi/4 Atan2(y, +Inf) = 0 Atan2(y>0, -Inf) = +Pi Atan2(y<0, -Inf) = -Pi Atan2(+Inf, x) = +Pi/2 Atan2(-Inf, x) = -Pi/2

func Atanh(显示源文件)

func Atanh(x float64) float64

Atanh返回x的反双曲正切。

特殊情况是:

Atanh(1) = +Inf Atanh(±0) = ±0 Atanh(-1) = -Inf Atanh(x) = NaN if x < -1 or x > 1 Atanh(NaN) = NaN

func Cbrt(显示源文件)

func Cbrt(x float64) float64

Cbrt返回x的立方根。

特殊情况是:

Cbrt(±0) = ±0 Cbrt(±Inf) = ±Inf Cbrt(NaN) = NaN

func Ceil(显示源文件)

func Ceil(x float64) float64

Ceil返回大于或等于x的最小整数值。

特殊情况是:

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

func Copysign(显示源文件)

func Copysign(x, y float64) float64

Copysign 返回值为x的大小和y的符号。

func Cos(显示源文件)

func Cos(x float64) float64

Cos返回弧度参数x的余弦。

特殊情况是:

Cos(±Inf) = NaN Cos(NaN) = NaN

func Cosh(显示源文件)

func Cosh(x float64) float64

Cosh返回x的双曲余弦。

特殊情况是:

Cosh(±0) = 1 Cosh(±Inf) = +Inf Cosh(NaN) = NaN

func Dim(显示源文件)

func Dim(x, y float64) float64

Dim返回xy或0的最大值。

特殊情况是:

Dim(+Inf, +Inf) = NaN Dim(-Inf, -Inf) = NaN Dim(x, NaN) = Dim(NaN, x) = NaN

func Erf(显示源文件)

func Erf(x float64) float64

Erf返回x的错误函数。

特殊情况是:

Erf(+Inf) = 1 Erf(-Inf) = -1 Erf(NaN) = NaN

func Erfc(显示源文件)

func Erfc(x float64) float64

Erfc返回x的互补误差函数。

特殊情况是:

Erfc(+Inf) = 0 Erfc(-Inf) = 2 Erfc(NaN) = NaN

func Exp(显示源文件)

func Exp(x float64) float64

Exp返回e ** x,即x的基数e指数。

特殊情况是:

Exp(+Inf) = +Inf Exp(NaN) = NaN

非常大的值溢出到0或+ Inf。非常小的值下溢到1。

func Exp2(显示源文件)

func Exp2(x float64) float64

Exp2返回2 ** x,x的基数为2的指数。

特殊情况与Exp相同。

func Expm1(显示源文件)

func Expm1(x float64) float64

Expm1返回e ** x - 1,即x减1的基e指数。当x接近零时,它比Exp(x) - 1更准确。

特殊情况是:

Expm1(+Inf) = +Inf Expm1(-Inf) = -1 Expm1(NaN) = NaN

非常大的值溢出到-1或+ Inf。

func Float32bits(显示源文件)

func Float32bits(f float32) uint32

Float32bits返回f的IEEE 754二进制表示。

func Float32frombits(显示源文件)

func Float32frombits(b uint32) float32

Float32frombits返回对应于IEEE 754二进制表示b的浮点数。

func Float64bits(显示源文件)

func Float64bits(f float64) uint64

Float64bits返回f的IEEE 754二进制表示。

func Float64frombits(显示源文件)

func Float64frombits(b uint64) float64

Float64frombits返回对应于IEEE 754二进制表示的浮点数b。

func Floor(显示源文件)

func Floor(x float64) float64

Floor返回小于或等于x的最大整数值。

特殊情况是:

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

func Frexp(显示源文件)

func Frexp(f float64) (frac float64, exp int)

Frexp将f分解为归一化分数和两个整数幂。它返回满足f == frac×2 ** exp的frac和exp,并且在区间[½,1)中具有frac的绝对值。

特殊情况是:

Frexp(±0) = ±0, 0 Frexp(±Inf) = ±Inf, 0 Frexp(NaN) = NaN, 0

func Gamma(显示源文件)

func Gamma(x float64) float64

Gamma返回x的Gamma函数。

特殊情况是:

Gamma(+Inf) = +Inf Gamma(+0) = +Inf Gamma(-0) = -Inf Gamma(x) = NaN for integer x < 0 Gamma(-Inf) = NaN Gamma(NaN) = NaN

func Hypot(显示源文件)

func Hypot(p, q float64) float64

Hypot返回Sqrt(p * p + q * q),注意避免不必要的溢出和下溢。

特殊情况是:

Hypot(±Inf, q) = +Inf Hypot(p, ±Inf) = +Inf Hypot(NaN, q) = NaN Hypot(p, NaN) = NaN

func Ilogb(显示源文件)

func Ilogb(x float64) int

Ilogb以整数形式返回x的二进制指数。

特殊情况是:

Ilogb(±Inf) = MaxInt32 Ilogb(0) = MinInt32 Ilogb(NaN) = MaxInt32

func Inf(显示源文件)

func Inf(sign int) float64

如果符号> = 0,则Inf返回正无穷大;如果符号<0,则返回负无穷大。

func IsInf(显示源文件)

func IsInf(f float64, sign int) bool

根据符号,IsInf报告f是否是无穷大。如果符号> 0,则IsInf报告f是否为正无穷。如果符号<0,则IsInf报告f是否为负无穷。如果符号== 0,则IsInf报告f是无穷大。

func IsNaN(显示源文件)

func IsNaN(f float64) (is bool)

IsNaN报告f是否是IEEE 754“非数字”值。

func J0(显示源文件)

func J0(x float64) float64

J0返回第一类的零阶Bessel函数。

特殊情况是:

J0(±Inf) = 0 J0(0) = 1 J0(NaN) = NaN

func J1(显示源文件)

func J1(x float64) float64

J1返回第一类的一阶贝塞尔函数。

特殊情况是:

J1(±Inf) = 0 J1(NaN) = NaN

func Jn(显示源文件)

func Jn(n int, x float64) float64

Jn返回第一类的n阶Bessel函数。

特殊情况是:

Jn(n, ±Inf) = 0 Jn(n, NaN) = NaN

func Ldexp(显示源文件)

func Ldexp(frac float64, exp int) float64

Ldexp 与 Frexp 相反。它返回 frac ×2 ** exp。

特殊情况是:

Ldexp(±0, exp) = ±0 Ldexp(±Inf, exp) = ±Inf Ldexp(NaN, exp) = NaN

func Lgamma(显示源文件)

func Lgamma(x float64) (lgamma float64, sign int)

Lgamma返回Gamma(x)的自然对数和符号(-1或+1)。

特殊情况是:

Lgamma(+Inf) = +Inf Lgamma(0) = +Inf Lgamma(-integer) = +Inf Lgamma(-Inf) = -Inf Lgamma(NaN) = NaN

func Log(显示源文件)

func Log(x float64) float64

Log返回x的自然对数。

特殊情况是:

Log(+Inf) = +Inf Log(0) = -Inf Log(x < 0) = NaN Log(NaN) = NaN

func Log10(显示源文件)

func Log10(x float64) float64

Log10返回x的小数对数。特殊情况与Log相同。

func Log1p(显示源文件)

func Log1p(x float64) float64

Log1p返回自然对数1加上其参数x。当x接近零时,它比Log(1 + x)更准确。

特殊情况是:

Log1p(+Inf) = +Inf Log1p(±0) = ±0 Log1p(-1) = -Inf Log1p(x < -1) = NaN Log1p(NaN) = NaN

func Log2(显示源文件)

func Log2(x float64) float64

Log2返回x的二进制对数。特殊情况与Log相同。

func Logb(显示源文件)

func Logb(x float64) float64

Logb返回x的二进制指数。

特殊情况是:

Logb(±Inf) = +Inf Logb(0) = -Inf Logb(NaN) = NaN

func Max(显示源文件)

func Max(x, y float64) float64

Max返回x或y中的较大值。

特殊情况是:

Max(x, +Inf) = Max(+Inf, x) = +Inf Max(x, NaN) = Max(NaN, x) = NaN Max(+0, ±0) = Max(±0, +0) = +0 Max(-0, -0) = -0

func Min(显示源文件)

func Min(x, y float64) float64

Min返回x或y中的较小者。

特殊情况是:

Min(x, -Inf) = Min(-Inf, x) = -Inf Min(x, NaN) = Min(NaN, x) = NaN Min(-0, ±0) = Min(±0, -0) = -0

func Mod(显示源文件)

func Mod(x, y float64) float64

Mod返回x / y的浮点余数。结果的幅度小于y,其符号与x的符号一致。

特殊情况是:

Mod(±Inf, y) = NaN Mod(NaN, y) = NaN Mod(x, 0) = NaN Mod(x, ±Inf) = x Mod(x, NaN) = NaN

func Modf(显示源文件)

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

Modf返回总和为f的整数和小数浮点数。这两个值都与f有相同的符号。

特殊情况是:

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

func NaN(显示源文件)

func NaN() float64

NaN 返回 IEEE 754“not-a-number”值。

func Nextafter(显示源文件)

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

Nextafter 将x后的下一个可表示的 float64 值返回y。

特殊情况是:

Nextafter(x, x) = x Nextafter(NaN, y) = NaN Nextafter(x, NaN) = NaN

func Nextafter32(显示源文件)

func Nextafter32(x, y float32) (r float32)

Nextafter32 返回x向y后的下一个可表示的 float32 值。

特殊情况是:

Nextafter32(x, x) = x Nextafter32(NaN, y) = NaN Nextafter32(x, NaN) = NaN

func Pow(显示源文件)

func Pow(x, y float64) float64

Pow 返回x**y,y 的基 x 指数。

特殊情况是(按顺序):

Pow(x, ±0) = 1 for any x Pow(1, y) = 1 for any y Pow(x, 1) = x for any x Pow(NaN, y) = NaN Pow(x, NaN) = NaN Pow(±0, y) = ±Inf for y an odd integer < 0 Pow(±0, -Inf) = +Inf Pow(±0, +Inf) = +0 Pow(±0, y) = +Inf for finite y < 0 and not an odd integer Pow(±0, y) = ±0 for y an odd integer > 0 Pow(±0, y) = +0 for finite y > 0 and not an odd integer Pow(-1, ±Inf) = 1 Pow(x, +Inf) = +Inf for |x| > 1 Pow(x, -Inf) = +0 for |x| > 1 Pow(x, +Inf) = +0 for |x| < 1 Pow(x, -Inf) = +Inf for |x| < 1 Pow(+Inf, y) = +Inf for y > 0 Pow(+Inf, y) = +0 for y < 0 Pow(-Inf, y) = Pow(-0, -y) Pow(x, y) = NaN for finite x < 0 and finite non-integer y

func Pow10(显示源文件)

func Pow10(n int) float64

Pow10 返回 10**n,即n的基数为10的指数。

特殊情况是:

Pow10(n) = 0 for n < -323 Pow10(n) = +Inf for n > 308

func Remainder(显示源文件)

func Remainder(x, y float64) float64

余数返回 x/y 的 IEEE 754 浮点余数。

特殊情况是:

Remainder(±Inf, y) = NaN Remainder(NaN, y) = NaN Remainder(x, 0) = NaN Remainder(x, ±Inf) = x Remainder(x, NaN) = NaN

func Signbit(显示源文件)

func Signbit(x float64) bool

如果x是负值或负值,则 Signbit 返回 true。

func Sin(显示源文件)

func Sin(x float64) float64

Sin 返回弧度参数x的正弦值。

特殊情况是:

Sin(±0) = ±0 Sin(±Inf) = NaN Sin(NaN) = NaN

func Sincos(显示源文件)

func Sincos(x float64) (sin, cos float64)

Sincos 返回Sin(x),Cos(x)。

特殊情况是:

Sincos(±0) = ±0, 1 Sincos(±Inf) = NaN, NaN Sincos(NaN) = NaN, NaN

func Sinh(显示源文件)

func Sinh(x float64) float64

Sinh 返回x的双曲正弦。

特殊情况是:

Sinh(±0) = ±0 Sinh(±Inf) = ±Inf Sinh(NaN) = NaN

func Sqrt(显示源文件)

func Sqrt(x float64) float64

Sqrt 返回x的平方根。

特殊情况是:

Sqrt(+Inf) = +Inf Sqrt(±0) = ±0 Sqrt(x < 0) = NaN Sqrt(NaN) = NaN

示例

package main import ( "fmt" "math" ) func main() { const ( a = 3 b = 4 ) c := math.Sqrt(a*a + b*b) fmt.Printf("%.1f", c) }

func Tan(显示源文件)

func Tan(x float64) float64

Tan 返回弧度参数x的切线。

特殊情况是:

Tan(±0) = ±0 Tan(±Inf) = NaN Tan(NaN) = NaN

func Tanh(显示源文件)

func Tanh(x float64) float64

Tanh 返回x的双曲正切。

特殊情况是:

Tanh(±0) = ±0 Tanh(±Inf) = ±1 Tanh(NaN) = NaN

func Trunc(显示源文件)

func Trunc(x float64) float64

Trunc 返回x的整数值。

特殊情况是:

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

func Y0(显示源文件)

func Y0(x float64) float64

Y0 返回第二类的零阶 Bessel 函数。

特殊情况是:

Y0(+Inf) = 0 Y0(0) = -Inf Y0(x < 0) = NaN Y0(NaN) = NaN

func Y1(显示源文件)

func Y1(x float64) float64

Y1返回第二类的一阶贝塞尔函数。

特殊情况是:

Y1(+Inf) = 0 Y1(0) = -Inf Y1(x < 0) = NaN Y1(NaN) = NaN

func Yn(显示源文件)

func Yn(n int, x float64) float64

Yn 返回第二类的n阶 Bessel 函数。

特殊情况是:

Yn(n, +Inf) = 0 Yn(n ≥ 0, 0) = -Inf Yn(n < 0, 0) = +Inf if n is odd, -Inf if n is even Yn(n, x < 0) = NaN Yn(n, NaN) = NaN

子目录

名称概述
big包大实现了任意精度算术(big numbers)。
bits封装位为预先声明的无符号整数类型实现位计数和操作函数。
complxPackage cmplx为复数提供基本的常量和数学函数。
rand包rand执行伪随机数生成器。