- 297 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 21:19:52 ]
- >>295
組み込み関数 LOG(X) はXが実数の場合、Xは正(X>0)でなければならない。 IVFでは -∞ を返しているが、b * log(b) = 0 * -∞ = NaN となるので、 exp(b * log(b)) = exp(NaN) = NaN となる。 b=0.d0 の時に 1 と出力されるのは、コンパイル時に bの値が既知の定数(=0)なので 最適化によりプログラム中で b*log(b) が計算されず、直接 exp0.0D0) を求めてるため。 最適化なし(-Od)でコンパイルすると両方とも NaN になる。
|

|