directory search
archive archive/tar archive/zip bufio bufio(缓存) builtin builtin(内置包) bytes bytes(包字节) compress compress/bzip2(压缩/bzip2) compress/flate(压缩/flate) compress/gzip(压缩/gzip) compress/lzw(压缩/lzw) compress/zlib(压缩/zlib) container container/heap(容器数据结构heap) container/list(容器数据结构list) container/ring(容器数据结构ring) context context(上下文) crypto crypto(加密) crypto/aes(加密/aes) crypto/cipher(加密/cipher) crypto/des(加密/des) crypto/dsa(加密/dsa) crypto/ecdsa(加密/ecdsa) crypto/elliptic(加密/elliptic) crypto/hmac(加密/hmac) crypto/md5(加密/md5) crypto/rand(加密/rand) crypto/rc4(加密/rc4) crypto/rsa(加密/rsa) crypto/sha1(加密/sha1) crypto/sha256(加密/sha256) crypto/sha512(加密/sha512) crypto/subtle(加密/subtle) crypto/tls(加密/tls) crypto/x509(加密/x509) crypto/x509/pkix(加密/x509/pkix) database database/sql(数据库/sql) database/sql/driver(数据库/sql/driver) debug debug/dwarf(调试/dwarf) debug/elf(调试/elf) debug/gosym(调试/gosym) debug/macho(调试/macho) debug/pe(调试/pe) debug/plan9obj(调试/plan9obj) encoding encoding(编码) encoding/ascii85(编码/ascii85) encoding/asn1(编码/asn1) encoding/base32(编码/base32) encoding/base64(编码/base64) encoding/binary(编码/binary) encoding/csv(编码/csv) encoding/gob(编码/gob) encoding/hex(编码/hex) encoding/json(编码/json) encoding/pem(编码/pem) encoding/xml(编码/xml) errors errors(错误) expvar expvar flag flag(命令行参数解析flag包) fmt fmt go go/ast(抽象语法树) go/build go/constant(常量) go/doc(文档) go/format(格式) go/importer go/parser go/printer go/scanner(扫描仪) go/token(令牌) go/types(类型) hash hash(散列) hash/adler32 hash/crc32 hash/crc64 hash/fnv html html html/template(模板) image image(图像) image/color(颜色) image/color/palette(调色板) image/draw(绘图) image/gif image/jpeg image/png index index/suffixarray io io io/ioutil log log log/syslog(日志系统) math math math/big math/big math/bits math/bits math/cmplx math/cmplx math/rand math/rand mime mime mime/multipart(多部分) mime/quotedprintable net net net/http net/http net/http/cgi net/http/cookiejar net/http/fcgi net/http/httptest net/http/httptrace net/http/httputil net/http/internal net/http/pprof net/mail net/mail net/rpc net/rpc net/rpc/jsonrpc net/smtp net/smtp net/textproto net/textproto net/url net/url os os os/exec os/signal os/user path path path/filepath(文件路径) plugin plugin(插件) reflect reflect(反射) regexp regexp(正则表达式) regexp/syntax runtime runtime(运行时) runtime/debug(调试) runtime/internal/sys runtime/pprof runtime/race(竞争) runtime/trace(执行追踪器) sort sort(排序算法) strconv strconv(转换) strings strings(字符串) sync sync(同步) sync/atomic(原子操作) syscall syscall(系统调用) testing testing(测试) testing/iotest testing/quick text text/scanner(扫描文本) text/tabwriter text/template(定义模板) text/template/parse time time(时间戳) unicode unicode unicode/utf16 unicode/utf8 unsafe unsafe
characters

  • 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) = +InfAbs(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) = +InfAcosh(x) = NaN if x < 1Acosh(NaN) = NaN

func Asin

func Asin(x float64) float64

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

特殊情况是:

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

func Asinh

func Asinh(x float64) float64

Asinh返回x的反双曲正弦。

特殊情况是:

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

func Atan

func Atan(x float64) float64

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

特殊情况是:

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

func Atan2

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

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

func Cbrt(x float64) float64

Cbrt返回x的立方根。

特殊情况是:

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

func Ceil

func Ceil(x float64) float64

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

特殊情况是:

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

func Copysign


func Copysign(x, y float64) float64

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

func Cos

func Cos(x float64) float64

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

特殊情况是:

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

func Cosh

func Cosh(x float64) float64

Cosh返回x的双曲余弦。

特殊情况是:

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

func Dim

func Dim(x, y float64) float64

Dim返回xy或0的最大值。

特殊情况是:

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

func Erf

func Erf(x float64) float64

Erf返回x的错误函数。

特殊情况是:

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

func Erfc

func Erfc(x float64) float64

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

特殊情况是:

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

func Exp

func Exp(x float64) float64

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

特殊情况是:

Exp(+Inf) = +InfExp(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) = +InfExpm1(-Inf) = -1Expm1(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) = ±0Floor(±Inf) = ±InfFloor(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, 0Frexp(±Inf) = ±Inf, 0Frexp(NaN) = NaN, 0

func Gamma

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

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

func Ilogb(x float64) int

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

特殊情况是:

Ilogb(±Inf) = MaxInt32Ilogb(0) = MinInt32Ilogb(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) = 0J0(0) = 1J0(NaN) = NaN

func J1

func J1(x float64) float64

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

特殊情况是:

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

func Jn

func Jn(n int, x float64) float64

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

特殊情况是:

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

func Ldexp

func Ldexp(frac float64, exp int) float64

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

特殊情况是:

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

func Lgamma

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

func Log(x float64) float64

Log返回x的自然对数。

特殊情况是:

Log(+Inf) = +InfLog(0) = -InfLog(x < 0) = NaNLog(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) = +InfLog1p(±0) = ±0Log1p(-1) = -InfLog1p(x < -1) = NaNLog1p(NaN) = NaN

func Log2

func Log2(x float64) float64

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

func Logb

func Logb(x float64) float64

Logb返回x的二进制指数。

特殊情况是:

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

func Max

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

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

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

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

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

特殊情况是:

Modf(±Inf) = ±Inf, NaNModf(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)   = xNextafter(NaN, y) = NaNNextafter(x, NaN) = NaN

func Nextafter32

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

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

特殊情况是:

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

func Pow

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

func Pow10(n int) float64

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

特殊情况是:

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

func Remainder

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

func Signbit(x float64) bool

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

func Sin

func Sin(x float64) float64

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

特殊情况是:

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

func Sincos

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

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

特殊情况是:

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

func Sinh

func Sinh(x float64) float64

Sinh 返回x的双曲正弦。

特殊情况是:

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

func Sqrt

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

func Tan(x float64) float64

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

特殊情况是:

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

func Tanh

func Tanh(x float64) float64

Tanh 返回x的双曲正切。

特殊情况是:

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

func Trunc

func Trunc(x float64) float64

Trunc 返回x的整数值。

特殊情况是:

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

func Y0

func Y0(x float64) float64

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

特殊情况是:

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

func Y1

func Y1(x float64) float64

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

特殊情况是:

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

func Yn

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执行伪随机数生成器。

Previous article: Next article: