Math
数学・数値計算関連の標準定数・関数にはMath:
の名前空間が付与されています。
定数
型は全てnum
です。
定数名 | 説明 | 概算値 |
---|---|---|
Math:Infinity | 無限大 | なし |
Math:E | ネイピア数e | 2.718281828459045 |
Math:LN2 | 2の自然対数 | 0.6931471805599453 |
Math:LN10 | 10の自然対数 | 2.302585092994046 |
Math:LOG2E | 2を底としたeの対数 | 1.4426950408889634 |
Math:LOG10E | 10を底としたeの対数 | 0.4342944819032518 |
Math:PI | 円周率π | 3.141592653589793 |
Math:SQRT1_2 | √(1/2) | 0.7071067811865476 |
Math:SQRT2 | √2 | 1.4142135623730951 |
基本的な関数
@Math:abs(x: num): num
絶対値を計算します。
@Math:sign(x: num): num
x が正であれば1、負であれば-1、0または-0であればそのままの値を返します。
いずれでもなければNaNを返します。
@Math:round(x: num): num
四捨五入して、もっとも近い整数を返します。
@Math:ceil(x: num): num
引数以上の最小の整数を返します。
@Math:floor(x: num): num
引数以下の最大の整数を返します。
@Math:trunc(x: num): num
引数の小数部を切り捨て、整数部を返します。
@Math:min(a: num, b: num): num
小さい方の値を取得します。
@Math:max(a: num, b: num): num
大きい方の値を取得します。
@Math:sqrt(x: num): num
正の平方根を計算します。
@Math:cbrt(x: num): num
立方根を計算します。
@Math:hypot(vs: arr): num
vs の要素をそれぞれ自乗してから合計した値の正の平方根を返します。
三角関数
角度の単位はラジアンです。
@Math:sin(rad: num): num
正弦を計算します。
@Math:cos(rad: num): num
余弦を計算します。
@Math:tan(rad: num): num
正接を計算します。
@Math:asin(x: num): num
逆正弦を計算します。
@Math:acos(x: num): num
逆余弦を計算します。
@Math:atan(x: num): num
逆正接を計算します。
@Math:atan2(y: num, x: num): num
y /x の正接を返しますが、x が負値の場合はπだけずれた値を返します。
双曲線関数
@Math:sinh(x: num): num
双曲線正弦を計算します。
@Math:cosh(x: num): num
双曲線余弦を計算します。
@Math:tanh(x: num): num
双曲線正接を計算します。
@Math:asinh(x: num): num
双曲線逆正弦を計算します。
@Math:acosh(x: num): num
双曲線逆余弦を計算します。
@Math:atanh(x: num): num
双曲線逆正接を計算します。
指数・対数関数
@Math:pow(x: num, y: num): num
x の y 乗を計算します。内部的にJavascriptの**
演算子ではなくMath.pow
関数を用いている点を除き、ほぼCore:pow
と同じものです。
@Math:exp(x: num): num
eの x 乗を計算します。
@Math:expm1(x: num): num
eの x 乗から1を引いた値を計算します。
@Math:log(x: num): num
自然対数を計算します。常用対数にはMath:log10
を使用して下さい。
@Math:log1p(x: num): num
x +1の自然対数を計算します。
@Math:log10(x: num): num
10を底とした対数を計算します。
@Math:log2(x: num): num
2を底とした対数を計算します。
乱数
@Math:rnd(min?: num, max?: num): num
乱数を生成します。
min および max を渡した場合、min <= x, x <= max の整数、
渡していない場合は 0 <= x, x < 1 の 小数が返されます。
@Math:gen_rng(seed: num | str, options?: obj): @(min?: num, max?: num)
シードから乱数生成機を生成します。
生成された乱数生成器は、min および max を渡した場合、min <= x, x <= max の整数、
渡していない場合は 0 <= x, x < 1 の浮動小数点数を返します。
options に渡したオブジェクトを通じて、内部の挙動を指定できます。
options.algorithm
の指定による挙動の変化は下記の通りです。
options.algorithm | 内部の乱数生成アルゴリズム | 範囲指定整数生成アルゴリズム |
---|---|---|
rc4 | RC4 | Rejection Sampling |
rc4_legacy | RC4 | 浮動小数点数演算による範囲制限(0.19.0以前のアルゴリズム) |
無指定 または 'chacha20' | ChaCha20 | Rejection Sampling |
その他
@Math:clz32(x: num): num
xを32ビットのバイナリで表現したときの先頭の0の個数を返します。
@Math:fround(x: num): num
x を32ビットの浮動小数点数に変換した時の値を返します。
@Math:imul(x: num, y: num): num
x と y に対しC言語風の32ビット乗算を行った結果を返します。