[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002384] Re: NArray-NMath の精度



倉富様

PC linux にインストールしたので確認しましたが,確かにそうなって
ますね.知りませんでした.NMath を include した場合,デフォルト
の Math が置き換わるわけですから,振る舞いが変るべきではないと,
私も思います.残念ながら田中さんはこの ML のメンバーではないので,
本人に直接聞いて頂けませんか(反応教えてくださいませ).アドレス
は http://www.ir.isas.ac.jp/~masa/ruby/ の下の方に載ってます.

堀之内

> 倉富といいます。
> 
> NArray に付属する NMath の三角関数の精度について質問です。
> Ruby は Mac OS X の DarwinPorts にてコンパイルした 1.8.2、
> NArray は 0.5.7p4 です。以下、コマンドラインの実行結果ですが、
> 
> yuhei yuhei $ ruby -v
> ruby 1.8.2 (2004-12-25) [powerpc-darwin8.2.0]
> 
> yuhei yuhei $ irb
> irb(main):001:0> require 'narray'
> => true
> irb(main):002:0> Math.sin(1.0)
> => 0.841470984807897
> irb(main):003:0> NMath.sin(1.0)
> => 0.841470956802368
> irb(main):004:0> Math.sin(1.0) - NMath.sin(1.0)
> => 2.80055283408132e-08
> irb(main):005:0> NMath.sin(NArray.to_na([1.0])) - NMath.sin([1.0])
> => NArray.float(1): 
> [ 2.80055e-08 ]
> irb(main):006:0> NMath.sin(NArray.to_na([1.0]))
> => NArray.float(1): 
> [ 0.841471 ]
> irb(main):007:0> NMath.sin([1.0])
> => NArray.sfloat(1): 
> [ 0.8415 ]
> 
> どうも NMath では Float オブジェクトを引数とした場合、single として値を
> 返すようです。NMath においても、配列ではなく Float を引数とした場合は 
> Math クラスと同じ動作をすべきだと思いますが、どうでしょうか。それとも何
> か理由があっての仕様でしょうか。
> 
> よろしくお願いします。
> 
> -- 
> Yuhei Kuratomi <yuhei@xxxxxxxxxxxxxxx>