対数

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
河川屋

対数

#1 投稿記事 by 河川屋 »

x=Log(0.0) →0が返る。 (正しくは、-Inf or 計算エラー)
x=Log(-10) →0が返る。 (正しくは、 計算エラー)

※念のため言わしてもらうと、IEEE浮動小数では、±InfとかNANという計算結果が返せる筈です。
で、Pentiumの浮動小数点演算はこういうのにも対応している筈。
±InfとかNANに対応しないのはアリとしても、せめて計算エラーとして扱わないとマズイのと
違いますか?
※※ Infは無限大、NANは非数値の意味です。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#2 投稿記事 by イグトランス »

CPUのLogを求める命令(fyl2x)ではLog(0.0)だと-Infを,Log(負値)だとNaNを返すようです。(エラーを無視するように設定した場合)
ABはそれを使っていませんが,それに挙動を合わせておくのが無難だと思います。

ところでABでは今までInfやNaNが全く使われていません。
つまりLogだけを直すのは簡単ですが,浮動小数点数処理全般の見直しが必要になるかもしれず,意外と手間がかかるかもしれませんね。
返信する