0

私のパートナーと私は、さまざまなプラットフォームでまったく同じように動作する決定論的物理エンジンに取り組んでいます。そのようなことを行うために、固定小数点演算または切り捨てられた浮動小数点演算のいずれかを使用しています (後で説明します)。ただし、エンジンを Javascript に移植するには、使用する Javascript の倍精度浮動小数点演算が、デスクトップ ポートで使用する演算と一貫性があることを確認する必要があります。

それを念頭に置いて、私の質問は次のとおりです。Math.sqrt() は Javascript でどのように実装されていますか? ブラウザ間で異なる実装がある場合、それらの実装は何ですか? または、前の質問に対する特定の答えがない場合、Math.sqrt() が生成できるエラーの最大量はどれくらいですか?

ネイティブに実装された Math.sqrt() は、Javascript で記述したものよりも常に優れているため、独自の平方根関数を記述しないことを好みます。

4

1 に答える 1

1

ECMA-262 (ECMAScript 5.1 仕様) はMath.sqrt、異常な数値 ( NaN-0、など)の特定の実装を必要とせず、特定の結果のみを必要とします。

15.8.2.17 平方根 (x)

x の平方根に対する実装依存の近似値を返します。

  • x が NaN の場合、結果は NaN になります。
  • x が 0 未満の場合、結果は NaN になります。
  • x が +0 の場合、結果は +0 です。
  • x が -0 の場合、結果は -0 です。
  • x が +Infinity の場合、結果は +Infinity になります。
于 2013-07-11T17:29:03.187 に答える