...

パッケージ 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 Erfcinv(x float64) float64
func Erfinv(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 Round(x float64) float64
func RoundToEven(x 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

パッケージファイル

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 erfinv.go exp.go exp_asm.go expm1.go floor.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 trig_reduce.go unsafe.go

定数

数学定数

const (
    E   = 2.71828182845904523536028747135266249775724709369995957496696763 // https://oeis.org/A001113
    Pi  = 3.14159265358979323846264338327950288419716939937510582097494459 // https://oeis.org/A000796
    Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // https://oeis.org/A001622

    Sqrt2   = 1.41421356237309504880168872420969807856967187537694807317667974 // https://oeis.org/A002193
    SqrtE   = 1.64872127070012814684865078781416357165377610071014801157507931 // https://oeis.org/A019774
    SqrtPi  = 1.77245385090551602729816748334114518279754945612238712821380779 // https://oeis.org/A002161
    SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038 // https://oeis.org/A139339

    Ln2    = 0.693147180559945309417232121458176568075500134360255254120680009 // https://oeis.org/A002162
    Log2E  = 1 / Ln2
    Ln10   = 2.30258509299404568401799145468436420760110148862877297603332790 // https://oeis.org/A002392
    Log10E = 1 / Ln10
)

浮動小数点数の制限値 Max は,その型で表現可能な最大の有限値です。 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

コード:

x := math.Abs(-2)
fmt.Printf("%.1f\n", x)

y := math.Abs(2)
fmt.Printf("%.1f\n", y)

出力:

2.0
2.0

func Acos

func Acos(x float64) float64

Acos は, x の逆余弦をラジアンで返します。

特別な場合は :

x < -1 または x > 1 の場合, Acos(x) = NaN

コード:

fmt.Printf("%.2f", math.Acos(1))

出力:

0.00

func Acosh

func Acosh(x float64) float64

Acosh は x の逆双曲線余弦を返します。

特別な場合は:

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

コード:

fmt.Printf("%.2f", math.Acosh(1))

出力:

0.00

func Asin

func Asin(x float64) float64

Asin は x の逆正弦をラジアンで返します。

特別な場合は:

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

コード:

fmt.Printf("%.2f", math.Asin(0))

出力:

0.00

func Asinh

func Asinh(x float64) float64

Asinh は x の逆双曲線サインを返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Asinh(0))

出力:

0.00

func Atan

func Atan(x float64) float64

Atan は, x の逆正接をラジアンで返します。

特別な場合:

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

コード:

fmt.Printf("%.2f", math.Atan(0))

出力:

0.00

func Atan2

func Atan2(y, x float64) float64

Atan2 は y/x の逆正接を返し, 2 の符号を使用して戻り値の象限を決定します。

特別な場合は (順番に):

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

コード:

fmt.Printf("%.2f", math.Atan2(0, 0))

出力:

0.00

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

コード:

fmt.Printf("%.2f", math.Atanh(0))

出力:

0.00

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

コード:

c := math.Ceil(1.49)
fmt.Printf("%.1f", c)

出力:

2.0

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

コード:

fmt.Printf("%.2f", math.Cos(math.Pi/2))

出力:

0.00

func Cosh

func Cosh(x float64) float64

Cosh は x の双曲線余弦を返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Cosh(0))

出力:

1.00

func Dim

func Dim(x, y float64) float64

Dim は x-y または 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 Erfcinv 1.10

func Erfcinv(x float64) float64

Erfcinv は Erfc(x) の逆を返します。

特別な場合は :

Erfcinv(0) = +Inf
Erfcinv(2) = -Inf
Erfcinv(x) = NaN if x < 0 or x > 2
Erfcinv(NaN) = NaN

func Erfinv 1.10

func Erfinv(x float64) float64

Erfinv は x の逆誤差関数を返します。

特別な場合は :

Erfinv(1) = +Inf
Erfinv(-1) = -Inf
Erfinv(x) = NaN if x < -1 or x > 1
Erfinv(NaN) = NaN

func Exp

func Exp(x float64) float64

Exp は x の基数 e の指数である e**x を返します。

特別な場合は :

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

非常に大きな値は 0 または +Inf にオーバーフローします。 非常に小さい値は 1 にアンダーフローします。

func Exp2

func Exp2(x float64) float64

Exp2 は x の 2 を底とする指数である 2**x を返します。

特別な場合は Exp と同じです。

func Expm1

func Expm1(x float64) float64

Expm1 は, e**x - 1 , x の基数 e の指数 - 1 を返します。 x がゼロに近い場合, Exp(x) - 1 よりも正確です。

特別な場合は :

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

非常に大きな値は -1 または +Inf にオーバーフローします。

func Float32bits

func Float32bits(f float32) uint32

Float32bits は, f の符号ビットと結果が同じビット位置にある, f の IEEE 754 バイナリ表現を返します。 Float32bits(Float32frombits(x)) == x。

func Float32frombits

func Float32frombits(b uint32) float32

Float32frombits は,符号ビット b と同じビット位置にある IEEE 754 バイナリ表現 b に対応する浮動小数点数を返します。 Float32frombits(Float32bits(x)) == x。

func Float64bits

func Float64bits(f float64) uint64

Float64bits は, f の符号ビットと結果が同じビット位置にある, IEEE 754 の f の 2 進表現を返します。 Float64bits(Float64frombits(x)) == x。

func Float64frombits

func Float64frombits(b uint64) float64

Float64frombits は,符号ビット b と同じビット位置にある IEEE 754 バイナリ表現 b に対応する浮動小数点数を返します。 Float64frombits(Float64bits(x)) == x。

func Floor

func Floor(x float64) float64

Floor は x 以下の最大の整数値を返します。

特別な場合は :

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

コード:

c := math.Floor(1.51)
fmt.Printf("%.1f", c)

出力:

1.0

func Frexp

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

Frexp は f を正規化された分数と 2 の整数乗に分解します。 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(+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 の 2 進指数を整数として返します。

特別な場合は :

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

func Inf

func Inf(sign int) float64

Inf は,sign >= 0 の場合,正の無限大を返し, sign < 0 の場合は負の無限大を返します。

func IsInf

func IsInf(f float64, sign int) bool

IsInf は,符号に従って, f が無限大であるかどうかを報告します。 sign > 0 の場合, IsInf は f が正の無限大であるかどうかを報告します。 sign < 0 の場合, IsInf は f が負の無限大であるかどうかを報告します。 sign == 0 の場合, IsInf は f が無限大かどうかを報告します。

func IsNaN

func IsNaN(f float64) (is bool)

IsNaN は, f が IEEE 754 の “非数” 値かどうかを報告します。

func J0

func J0(x float64) float64

J0 は,第 1 種ゼロ次ベッセル関数を返します。

特別な場合は :

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

func J1

func J1(x float64) float64

J1 は,第 1 種の 1 次ベッセル関数を返します。

特別な場合は :

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

func Jn

func Jn(n int, x float64) float64

Jn は第 1 種の次数 n のベッセル関数を返します。

特別な場合は :

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

コード:

x := math.Log(1)
fmt.Printf("%.1f\n", x)

y := math.Log(2.7183)
fmt.Printf("%.1f\n", y)

出力:

0.0
1.0

func Log10

func Log10(x float64) float64

Log10 は x の 10 進対数を返します。 特別な場合は Log の場合と同じです。

コード:

fmt.Printf("%.1f", math.Log10(100))

出力:

2.0

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 の 2 進対数を返します。 特別な場合は Log の場合と同じです。

コード:

fmt.Printf("%.1f", math.Log2(256))

出力:

8.0

func Logb

func Logb(x float64) float64

Logb は x の 2 進指数を返します。

特別な場合は :

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

コード:

c := math.Mod(7, 4)
fmt.Printf("%.1f", c)

出力:

3.0

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 の “数値ではない” 値を返します。

func Nextafter

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

Nextafter は, x から y に向かって次の表現可能な float64 値を返します。

特別な場合は :

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

func Nextafter32 1.4

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 は, y の底 x の指数である x**y を返します。

特別な場合は (順番に):

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

コード:

c := math.Pow(2, 3)
fmt.Printf("%.1f", c)

出力:

8.0

func Pow10

func Pow10(n int) float64

Pow10 は 10**n (n の 10 を底とする指数) を返します。

特別な場合は :

Pow10(n) =    0, n < -323 のとき
Pow10(n) = +Inf, n > 308 のとき

コード:

c := math.Pow10(2)
fmt.Printf("%.1f", c)

出力:

100.0

func Remainder

func Remainder(x, y float64) float64

Remainder は, 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 Round 1.10

func Round(x float64) float64

Round は最も近い整数を返し,ゼロから半分を四捨五入します。

特別な場合は :

Round(±0) = ±0
Round(±Inf) = ±Inf
Round(NaN) = NaN

コード:

p := math.Round(10.5)
fmt.Printf("%.1f\n", p)

n := math.Round(-10.5)
fmt.Printf("%.1f\n", n)

出力:

11.0
-11.0

func RoundToEven 1.10

func RoundToEven(x float64) float64

RoundToEven は最も近い整数を返し,関係を偶数に丸めます。

特別な場合は :

RoundToEven(±0) = ±0
RoundToEven(±Inf) = ±Inf
RoundToEven(NaN) = NaN

コード:

u := math.RoundToEven(11.5)
fmt.Printf("%.1f\n", u)

d := math.RoundToEven(12.5)
fmt.Printf("%.1f\n", d)

出力:

12.0
12.0

func Signbit

func Signbit(x float64) bool

Signbit は, x が負であるか負のゼロであるかを報告します。

func Sin

func Sin(x float64) float64

Sin は,ラジアン引数 x の正弦 (サイン) を返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Sin(math.Pi))

出力:

0.00

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

コード:

sin, cos := math.Sincos(0)
fmt.Printf("%.2f, %.2f", sin, cos)

出力:

0.00, 1.00

func Sinh

func Sinh(x float64) float64

Sinh は x の双曲線正弦を返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Sinh(0))

出力:

0.00

func Sqrt

func Sqrt(x float64) float64

Sqrt は x の平方根を返します。

特別な場合は :

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

コード:

const (
    a = 3
    b = 4
)
c := math.Sqrt(a*a + b*b)
fmt.Printf("%.1f", c)

出力:

5.0

func Tan

func Tan(x float64) float64

Tan は,ラジアン引数 x のタンジェントを返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Tan(0))

出力:

0.00

func Tanh

func Tanh(x float64) float64

Tanh は x の双曲線正接を返します。

特別な場合は :

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

コード:

fmt.Printf("%.2f", math.Tanh(0))

出力:

0.00

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 は第 2 種の次数ゼロのベッセル関数を返します。

特別な場合は :

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

func Y1

func Y1(x float64) float64

Y1 は 2 番目の種類の 1 次ベッセル関数を返します。

特別な場合は :

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

func Yn

func Yn(n int, x float64) float64

Yn は第 2 種の次数 n のベッセル関数を返します。

特別な場合は :

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 パッケージは任意精度の計算 (big numbers) を実装します。
bits bits パッケージは,符号なし整数型のビット計算関数,ビット操作関数を実装します。
cmplx cmplx パッケージは,複素数の基本的な定数や数学的関数を提供します。
rand rand パッケージは,擬似乱数生成器を実装します。