Index / Reload
SUNの「数値計算ガイド」からhttp://docs.sun.com/source/806-4847/ncg_math.html#586pdf版もあります。ieeeフォーマットについて結構詳しく書いてあると思います。
皆さん、情報ありがとうございます。ついでにコメントの日付が間違ってすんませんでした。やはりソースコードを読むのが早いですかねェ。今回の件は、会社の人が弄っている組み込む向け Linux の浮動小数点演算エミュレータに誤差が生じているのがきっかけです。彼はこの誤差を IEEE 754 規格に合うように修正したくて、リファレンスになる教科書的な本を探していました。権利関係のことは良く分からんのですがコードをコピーするという話でもないので、彼には fp エミュの実装を何通りか読んでみることを勧めてみます。
超越関数のたぐいならそちらですが、加減乗除のたぐいならhttp://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/(の例えば bit32/softfloat.c) の方にあります。
bsd系のlibもありますね。netbsdだとこれとか。http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libm/noieee_src/
演算の詳細を(疑似)Cコードで表現しているプロセッサマニュアルがあったと思ったんですが、なんだったかなぁ。# Itanium?権利関係が分からないので、見てもいいのか分かりませんが。
fdlibmとかのコードを読むってのはどうでしょ。権利関係でそれはできない?
SUNの「数値計算ガイド」から
http://docs.sun.com/source/806-4847/ncg_math.html#586
pdf版もあります。ieeeフォーマットについて結構詳しく書いてあると思います。
皆さん、情報ありがとうございます。
ついでにコメントの日付が間違ってすんませんでした。
やはりソースコードを読むのが早いですかねェ。
今回の件は、会社の人が弄っている組み込む向け Linux の浮動小数点演算エミュレータに誤差が生じているのがきっかけです。彼はこの誤差を IEEE 754 規格に合うように修正したくて、リファレンスになる教科書的な本を探していました。
権利関係のことは良く分からんのですがコードをコピーするという話でもないので、彼には fp エミュの実装を何通りか読んでみることを勧めてみます。
超越関数のたぐいならそちらですが、加減乗除のたぐいなら
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/
(の例えば bit32/softfloat.c) の方にあります。
bsd系のlibもありますね。netbsdだとこれとか。
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libm/noieee_src/
演算の詳細を(疑似)Cコードで表現しているプロセッサマニュアルがあったと思ったんですが、なんだったかなぁ。
# Itanium?
権利関係が分からないので、見てもいいのか分かりませんが。
fdlibmとかのコードを読むってのはどうでしょ。
権利関係でそれはできない?