[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002384] Re: NArray-NMath の精度
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002384] Re: NArray-NMath の精度
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Fri, 05 Aug 2005 11:36:03 +0900
倉富様
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>