訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
次のそれぞれのMathオブジェクト関数は、(1つ以上ある場合、左から右の順に)その引数のそれぞれに抽象操作ToNumberを適用し、それから結果となる Number value(s) についての算出を実行します。 以下の関数概要については、その記号 NaN、 -0、 +0、 -∞、 +∞ は、 8.5 で定義したNumber値を参照します。 [注釈] 関数 acos 、asin 、atan、 atan2、 cos、 exp、 log、 pow、 sin、 sqrt、 tan の動作は、関心ある事柄を含む境界のケースを表す特定の引数の値における結果を指定することを要求する以外は、ここで指定したものは正確ではありません。 他の引数の値については、これらの関数は、よく知られている数学関数の結果との近似値を算出することが意図されますが、近似アルゴリズム選択内でのある程度の自由度が許容されます。 総合的な意図としては、実装は、そのプラットフォーム上の C プログラマが利用可能である、与えられたハードウェアプラットフォーム上でECMAScriptにおける同様の数学ライブラリを使用することができるべきであるということです。 アルゴリズムの選択は、実装に任されますが、とはいうものの、(このECMAScript標準仕様による指定ではなく、) Sun Microsystems 社発行のフリー配布の数学ライブラリ fdlibm (http://www.netlib.org/fdlibm) 内に含んだ [ IEEE 754 arithmetic / 演算 ]における近似アルゴリズムを使用する実装が推奨されます。
x の絶対値を返します。 その結果は、 x と同じ大きさですが、正の符号を持ちます。
・ x が、 NaN である場合、その結果は、NaN ・ x が、 -0 である場合、その結果は、 +0 ・ x が、 -∞ である場合、その結果は、 +∞
x のアークコサイン(逆コサイン)の実装依存の近似値を返します。 その結果は、ラジアン(角度)で表され、 +0 から +π までの範囲となります。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 1 より大きい場合、その結果は、 NaN ・ x が、 -1 より小さい場合、その結果は、NaN ・ x が、 ちょうど 1 である場合、その結果は、 +0
x のアークサイン(逆サイン)の実装依存の近似値を返します。 その結果は、ラジアンで表され、 -π/2 から +π/2 までの範囲となります。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 1 より大きい場合、その結果は、 NaN ・ x が、 -1 より小さい場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0
x のアークタンジェント(逆タンジェント)の実装依存の近似値を返します。 その結果は、ラジアンで表され、 -π/2 から +π/2 までの範囲となります。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ である場合、その結果は、 +π/2 への実装依存の近似値 ・ x が、 -∞ である場合、その結果は、 -π/2 への実装依存の近似値
y と x の符号が、その結果の象限(quadrant)を決める為に使用される場合、引数 y と x の商のアークタンジェント(逆タンジェント)への実装依存の近似値を返します。 注釈としては、引数名 y を1つめ、引数名 x を2つめとした2つの引数を持つアークタンジェント関数としたのは、意図的であり、伝統的なものです。 その結果は、ラジアンで表され、-π から +π までの範囲となります。
・ x または、 y の何れかが、NaN である場合、その結果は、 NaN ・ y > 0 且つ、 x が、 +0 である場合、その結果は、 +π/2 への実装依存の近似値 ・ y > 0 且つ、 x が、 -0 である場合、その結果は、 +π/2 への実装依存の近似値 ・ y が、 +0 且つ、 x > 0 である場合、その結果は、 +0 ・ y が、 +0 且つ、 x が、 +0 である場合、その結果は、 +0 ・ y が、 +0 且つ、 x が、 -0 である場合、その結果は、 +π への実装依存の近似値 ・ y が、 +0 且つ、 x < 0 である場合、その結果は、 +π への実装依存の近似値 ・ y が、 -0 且つ、 x > 0 である場合、その結果は、 -0 ・ y が、 -0 且つ、 x が、 +0 である場合、その結果は、 -0 ・ y が、 -0 且つ、 x が、 -0 である場合、その結果は、 -π への実装依存の近似値 ・ y が、 -0 且つ、 x < 0 である場合、その結果は、 -π への実装依存の近似値 ・ y < 0 且つ、 x が、 +0 である場合、その結果は、 -π/2 への実装依存の近似値 ・ y < 0 且つ、 x が、 -0 である場合、その結果は、 -π/2 への実装依存の近似値 ・ y > 0 且つ、 y が、有限、且つ、 x is +∞ である場合、その結果は、 +0 ・ y > 0 且つ、 y が、有限、且つ、 x is -∞ である場合、その結果は、 +π への実装依存の近似値 ・ y < 0 且つ、 y が、有限、且つ、 x is +∞ である場合、その結果は、 -0 ・ y < 0 且つ、 y が、有限、且つ、 x is -∞ である場合、その結果は、 -π への実装依存の近似値 ・ y が、 +∞ 且つ、 x が、有限である場合、その結果は、+π/2 への実装依存の近似値 ・ y が、 -∞ 且つ、 x が、有限である場合、その結果は、-π/2 への実装依存の近似値 ・ y が、 +∞ 且つ、 x が、 +∞ である場合、その結果は、 +π/4 への実装依存の近似値 ・ y が、 +∞ 且つ、 x が、 -∞ である場合、その結果は、 +3π/4 への実装依存の近似値 ・ y が、 -∞ 且つ、 x が、 +∞ である場合、その結果は、 -π/4 への実装依存の近似値 ・ y が、 -∞ 且つ、 x が、 -∞ である場合、その結果は、 -3π/4 への実装依存の近似値
x よりも小さくなることなく、数学的な整数と等しい(-∞に限りなく近い)最も小さいNumber値を返します。 x が、既に整数である場合、その結果は、x です。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ である場合、その結果は、 +∞ ・ x が、 -∞ である場合、その結果は、 -∞ ・ x が、 0 より小さく、-1 より大きい場合、その結果は、-0
Math.ceil(x) の値は、 -Math.floor(-x) の値と同一です。
x の余弦(cosine/コサイン)の実装依存の近似値を返します。 その引数は、ラジアンで表されます。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 1 ・ x が、 -0 である場合、その結果は、 1 ・ x が、 +∞ である場合、その結果は、 NaN ・ x が、 -∞ である場合、その結果は、 NaN
x の指数関数における実装依存の近似値を返します。( e が、自然(常用)対数の底である場合、 e の x 乗 )
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 1 ・ x が、 -0 である場合、その結果は、 1 ・ x が、 +∞ である場合、その結果は、 +∞ ・ x が、 -∞ である場合、その結果は、 +0
x よりも大きくなることがない(+無限大に限りなく近い)最も大きく、数学的に等しいNumber値を返します。 x が、既に整数である場合、その結果は、 x です。
・ x が、 NaN である場合、その結果は、NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ である場合、その結果は、 +∞ ・ x が、 -∞ である場合、その結果は、 -∞
x が、0より大きく、1より小さい場合、その結果は、+0 です。 [注釈] Math.floor(x) の値は、 -Math.ceil(-x) の値と同一です。
x の自然(常用)対数への実装依存の近似値を返します。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 0 より小さい場合、その結果は、 NaN ・ x が、 +0 または -0 である場合、その結果は、 -∞ ・ x が、 1 である場合、その結果は、 +0 ・ x が、 +∞ である場合、その結果は、 +∞
ゼロ個以上の引数が与えられると引数ごとに ToNumber を呼び、結果となる値の最大値を返します。
・与えられる引数が何もない場合、その結果は、 -∞ ・一部の値が、 NaNである場合、その結果は、 NaN ・ +0 が、-0 より大きいと考えられる場合を除き、最大値を決める為の値の比較は、 11.8.5 内のように実行される
maxメソッドのlengthプロパティは、2です。
ゼロ個以上の引数が与えられると引数ごとに ToNumber を呼び、結果となる値の最小値を返します。
・与えられる引数が何もない場合、その結果は、 +∞ ・一部の値が、 NaN である場合、その結果は、 NaN ・ +0 が、-0 より大きいと考えられる場合を除き、最小値を決める為の値の比較は、 11.8.5 内のように実行される
minメソッドのlengthプロパティは、2です。
x の y 乗としてその結果への実装依存の近似値を返します。
・ y が、 NaN である場合、その結果は、 NaN ・ y が、 +0 である場合、x が仮に NaNであったとしてもその結果は、 1 ・ y が、 -0x が仮に NaNであったとしてもその結果は、1 ・ x が、 NaN 且つ、 y が、非ゼロである場合、その結果は、 NaN ・ abs(x)>1 且つ、 y が、 +∞ である場合、その結果は、 +∞ ・ abs(x)>1 且つ、 y が、 -∞ である場合、その結果は、 +0 ・ abs(x)==1 且つ、 y が、 +∞ である場合、その結果は、 NaN ・ abs(x)==1 且つ、 y が、 -∞ である場合、その結果は、 NaN ・ abs(x)<1 且つ、 y が、 +∞ である場合、その結果は、 +0 ・ abs(x)<1 且つ、 y が、 -∞ である場合、その結果は、 +∞ ・ x が、 +∞ 且つ、 y>0 である場合、その結果は、 +∞ ・ x が、 +∞ 且つ、 y<0 である場合、その結果は、 +0 ・ x が、 -∞ 且つ、 y>0 且つ、 y が、奇数である場合、その結果は、 -∞ ・ x が、 -∞ 且つ、 y>0 且つ、 y が、奇数ではない場合、その結果は、 +∞ ・ x が、 -∞ 且つ、 y<0 且つ、 y が、奇数である場合、その結果は、 -0 ・ x が、 -∞ 且つ、 y<0 且つ、 y が、 奇数ではない場合、その結果は、 +0 ・ x が、 +0 且つ、 y>0 である場合、その結果は、 +0 ・ x が、 +0 且つ、 y<0 である場合、その結果は、 +∞ ・ x が、 -0 且つ、 y>0 且つ、 y が、奇数である場合、その結果は、 -0 ・ x が、 -0 且つ、 y>0 且つ、 y が、奇数ではない場合、その結果は、 +0 ・ x が、 -0 且つ、 y<0 且つ、 y が、奇数である場合、その結果は、 -∞ ・ x が、 -0 且つ、 y<0 且つ、 y が、奇数ではない場合、その結果は、 +∞ ・ x<0 且つ、 x が有限、且つ、 y が有限、且つ、 y が奇数ではない場合、その結果は、 NaN
実装依存のアルゴリズムや方策を使用してその範囲を超えた均一な分布での選択ランダム、または、擬似ランダムで0以上(0より大きいか等しい)且つ、1より小さい正の符号を持つNumber値を返します。 この関数は、引数を一切取りません。
x に限りなく近く、数学的な整数と等しいNumber値を返します。 2つの整数であるNumber値が、x と限りなく等しい場合、その結果は、 +∞ に限りなく近いNumber値です。 x が、既に整数である場合、その結果は、x です。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ である場合、その結果は、 +∞ ・ x が、 -∞ である場合、その結果は、 -∞ ・ x が、 0 より大きく、0.5より小さい場合、その結果は、 +0 ・ x が、 0 より小さく、-0.5 より大きいか、等しい場合、その結果は、 -0
[注釈 1] Math.round(3.5) は、4 を返しますが、 Math.round(-3.5) は、 -3 を返します。 [注釈 2] Math.round(x) の値は、 Math.round(x) が、 -0を返すが、 Math.floor(x+0.5) が、 +0 を返すというこれらの状況において x が、-0、または0より小さく、-0.5 より大きいか等しい場合を除き、Math.floor(x+0.5) の値と同一です。
x の正弦(sine/サイン)への実装依存の近似値を返します。 引数はラジアンで表されます。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ または、 -∞ である場合、その結果は、 NaN
x の平方根(square root)への近似値を返します。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 0 より小さい場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ である場合、その結果は、 +∞
x の正接(tangent/タンジェント)への実装依存の近似値を返します。 引数はラジアンで表されます。
・ x が、 NaN である場合、その結果は、 NaN ・ x が、 +0 である場合、その結果は、 +0 ・ x が、 -0 である場合、その結果は、 -0 ・ x が、 +∞ or -∞ である場合、その結果は、 NaN