ホーム目次前ページへ次ページへ索引

数値計算ガイド Sun Microsystems

目次

 製品名の変更について

 はじめに

1.  概要

浮動小数点環境

2.  IEEE 演算機能

IEEE 演算モデル
IEEE の演算機能
IEEE 形式
記憶形式
単精度の記憶形式
倍精度の記憶形式
拡張倍精度の記憶形式 (SPARC)
拡張倍精度の記憶形式 (x86)
10 進表現の範囲と精度
Solaris 環境における基数変換
アンダーフロー
アンダーフローしきい値
IEEE 演算機能におけるアンダーフローの扱い
段階的アンダーフローの利点
段階的アンダーフローの誤差特性
段階的アンダーフローと Store 0 の 2 つの例
アンダーフローは問題か

3.  数学ライブラリ

数学ライブラリ
付加価値数学ライブラリ
Sun 数学ライブラリ
最適化ライブラリ
ベクトル数学ライブラリ (SPARC のみ)
libm9X 数学ライブラリ
単精度、倍精度、4 倍精度
IEEE サポート関数
ieee_functions(3m) と ieee_sun(3m)
ieee_values(3m)
ieee_flags(3m)
ieee_retrospective(3m)
nonstandard_arithmetic(3m)
C99 浮動小数点環境関数
例外フラグ関数
丸め制御
環境関数
libm と libsunmath の実装上の特徴
アルゴリズム
三角関数の引数還元
データ変換ルーチン
乱数発生機構

4.  例外と例外処理

例外とは
表 4-1 の注
例外の検出
ieee_flags(3m)
C99 例外フラグ関数
例外の特定
デバッガを使用して例外を特定する
シグナルハンドラを使用して例外を特定する
libm9x.so の例外処理機能を使用して例外を検出する
例外処理

A.  

IEEE の演算機能
数学ライブラリ
乱数生成
IEEE が推奨する関数
IEEE の特殊な値
ieee_flags - 丸め方向
C99 浮動小数点環境関数
例外と例外処理
ieee_flags - 例外
ieee_handler - 例外のトラップ
ieee_handler - 例外での異常終了
libm9x.so の例外処理機能
FORTRAN プログラムでの libm9x.so の使用
その他
sigfpe - 整数例外のトラップ
FORTRAN を呼び出す C
効果的なデバッグコマンド

B.  SPARC の動作と実装

浮動小数点ハードウェア
浮動小数点状態レジスタと待ち行列
ソフトウェアサポートが必要な特別な場合
fpversion(1) 関数 − FPU に関する情報の検索

C.  x86 の動作と実装

D.  浮動小数点演算について

概要
はじめに
丸め誤差
浮動小数点フォーマット
相対誤差と ulp
保護桁
相殺
正確な丸め操作
IEEE 標準
フォーマットと操作
特殊な数
NaNs
例外、フラグ、トラップハンドラ
システムの側面
命令セット
言語とコンパイラ
例外処理
詳細
丸め誤差
2 進数から 10 進数への変換
加法の誤差
まとめ
謝辞
参考資料
定理 14 と定理 8
定理 14
定理 8 (Kahan の加法公式 )
IEEE 754 実装間の違い
現在の IEEE 754 実装
拡張ベースシステムにおける演算の落とし穴
拡張精度に対するプログラミング言語サポート
結論

E.  規格への準拠

SVID の歴史
IEEE 754 の歴史
SVID の将来の方向
SVID の実装
例外のケースと libm 関数についての一般的注意事項
libm についての注意
LIA-1 準拠

F.  参考文献

第 2 章「IEEE 演算機能」
第 3 章「数学ライブラリ」
第 4 章「例外と例外処理」
付録 B「SPARC の動作と実装」
規格書
試験プログラム

 用語集

 索引


サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.
ホーム   |   目次   |   前ページへ   |   次ページへ   |   索引