IEEE754-2019 メモ

 IEEE754-2019が出たのでメモ。

IEEE 754-2019 - IEEE Standard for Floating-Point Arithmetic


New IEEE 754 Floating point standard(Agner Fog)
Agner Fog(デンマーク工科大学)の上記blog記事を読んでいく。

IEEE754-2019で追加/修正されたもの

・sinPi()、cosPi()、tanPi()の追加。
※おそらくこれのこと→ Oracle Solaris Studio 12.4 Man Pages » Section 3m: Math library » sinpi 引数はπの倍数で、引数が大きいときに正確で高速に計算する。

・最小/最大を比較して返すminimum/maximumの動作の違い
従来のIEEE754-2008での最大/最小の比較では、片方の引数がNaNだった場合はもう片方の値を返す。→
NaN:Wikipedia
標準の最新版である IEEE 754-2008 の6.2節に、引数のうち大きい方あるいは小さい方を返す maxnum と minnum という関数があるが、これらは引数の一方が NaN の場合は常にもう一方の引数を返す。

IEEE754-2019ではNaNを伝搬する。 A < B ? A : B と A > B ? A : B の動作でAまたはBがNaNの場合はBを返す。理由はA < B 、A > B の結果がNaN→falseなので。
これらは新しいハードウエア命令で実装されるべきだと思える。

・IEEE754-2019でも残っている問題はある。A+BとB+AでA,B両方がNaNで異なるペイロード値を持つとき結果が異なる。修正する案を出したが承認されなかった。
※NaNのフォーマットは空いているビットに任意の値を設定できる。これがペイロード
これに関する議論→ NAN propagation versus fault trapping in floating point code(PDF)

・上記ドキュメントで現在のシステムがNaN伝搬による浮動小数点エラー検出ではなく例外やトラップに頼っていることを議論している。これらは現代の並列実行/アウトオブオーダ実行/SIMD演算では不便で非効率。IEEE754-2019ではこれらの問題を扱っていない。次回の改訂は10年後。


昭和 かんたんナンです 180g×6個





B00HUMHHPW



5つ星のうち4.1

¥ 1,037

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント