[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002430] Re: NArrayMiss
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002430] Re: NArrayMiss
- From: Seiya Nishizawa <seiya@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 25 Aug 2005 11:17:07 +0900
西澤です。
NArrayMiss-1.1.2 をリリースしました。
主にバグフィックスです。
On Thu, 30 Jun 2005 15:59:11 +0900
Seiya Nishizawa <seiya@xxxxxxxxxxxxxxxxxx> wrote:
> 西澤です
>
> すいません、私信だと勘違いしていました。
>
> 近いうちに以下の修正をとりこんだ最新版をアップデート使用と思っています。
>
>
>
> On Thu, 30 Jun 2005 15:54:38 +0900
> Seiya Nishizawa <seiya@xxxxxxxxxxxxxxxxxx> wrote:
>
> > 堀之内様
> >
> > 以下、直してCVSにアップしました。
> >
> > 西澤
> >
> > On Thu, 16 Jun 2005 23:00:14 +0900
> > Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > > 西澤さま
> > >
> > > 竹広さんとのやりとりとは独立なんですが,
> > > NArrayMiss に関しちょっと気づいた点がありまして,
> > > 以下お願いできないでしょうか.
> > >
> > > * to_nam / to_nam_no_dup で NArray かどうかの判断を
> > > class == NArray でなく,is_a? 関係でやって欲しいです.
> > > NArray には NMatrix とか NArrayScalar などのサブクラスが
> > > あるので.たぶん,サブクラスでも問題ないことが多いんでは?
> > > この件は,簡単なので現在のcvs版に対するパッチを末尾につけます.
> > >
> > > * 長さの違う NArrayMiss どうしの2項演算第一項めのほうが短い場合
> > > うまく行きません.ちょっとみたのですが,どうすればいいか良く分
> > > からなかったので,すみませんが対応して頂けると嬉しいです.以下,
> > > 例です(cvs版利用).
> > >
> > > % irb --simple-prompt
> > > >> require "narray_miss"
> > > => true
> > > >> na = NArray.sfloat(2,1).indgen!(10,10)
> > > => NArray.sfloat(2,1):
> > > [ [ 10.0, 20.0 ] ]
> > > >> nb = NArray.sfloat(2,2).indgen!
> > > => NArray.sfloat(2,2):
> > > [ [ 0.0, 1.0 ],
> > > [ 2.0, 3.0 ] ]
> > > >> na+nb
> > > => NArray.sfloat(2,2):
> > > [ [ 10.0, 21.0 ],
> > > [ 12.0, 23.0 ] ]
> > > >> nb+na
> > > => NArray.sfloat(2,2):
> > > [ [ 10.0, 21.0 ],
> > > [ 12.0, 23.0 ] ]
> > > >> nam = NArrayMiss.to_nam(na)
> > > => NArrayMiss.sfloat(2,1):
> > > [ [ 10.0, 20.0 ] ]
> > > >> nbm = NArrayMiss.to_nam(nb)
> > > => NArrayMiss.sfloat(2,2):
> > > [ [ 0.0, 1.0 ],
> > > [ 2.0, 3.0 ] ]
> > > >> nbm+nam
> > > => NArrayMiss.sfloat(2,2):
> > > [ [ 10.0, 21.0 ],
> > > [ 12.0, 23.0 ] ]
> > > >> nam+nbm
> > > TypeError: self.size(=4) != mask.size(=2)
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:303:in `[]='
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:303:in `set_without_validation'
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:1321:in `routine2'
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:394:in `+'
> > > from (irb):9
> > > >> nc = NArray.sfloat(1).fill!(100)
> > > => NArray.sfloat(1):
> > > [ 100.0 ]
> > > >> ncm = NArrayMiss.to_nam(nc)
> > > => NArrayMiss.sfloat(1):
> > > [ 100.0 ]
> > > >> nc + nb
> > > => NArray.sfloat(2,2):
> > > [ [ 100.0, 101.0 ],
> > > [ 102.0, 103.0 ] ]
> > > >> ncm + nbm
> > > TypeError: self.size(=4) != mask.size(=1)
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:303:in `[]='
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:303:in `set_without_validation'
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:1321:in `routine2'
> > > from /usr/local/lib/ruby/site_ruby/1.8/narray_miss.rb:394:in `+'
> > > from (irb):8
> > >
> > > # しかし,なんでタイプエラー?
> > >
> > > 毎度すみませんが,よろしくお願い致します.
> > >
> > > 堀之内
> > >
> > > ---- diff -u narray_miss.rb~ narray_miss.rb で作ったパッチ (ここから)----
> > > --- narray_miss.rb~ Thu May 26 15:14:47 2005
> > > +++ narray_miss.rb Thu Jun 16 22:17:09 2005
> > > @@ -167,7 +167,7 @@
> > > array = arg[0]
> > > if Numeric===array then array = NArray[array] end
> > > if array.class == Array then array = NArray.to_na(array) end
> > > - if array.class != NArray then
> > > + if !array.is_a?(NArray) then
> > > raise("argument must be Numeric, NArray or Array")
> > > end
> > >
> > > @@ -195,7 +195,7 @@
> > > __new__(array,mask)
> > > end
> > > def self.to_nam(*arg)
> > > - if !(Numeric===arg[0]) && arg[0].class!=Array && arg[0].class!=NArray
> > > + if !(Numeric===arg[0]) && arg[0].class!=Array && !arg[0].is_a?(NArray)
> > > raise "first argument must be Numeric, NArray or Array"
> > > end
> > > arg[0] = arg[0].dup if !(Numeric===arg[0])
> > > ---- diff -u narray_miss.rb~ narray_miss.rb で作ったパッチ (ここまで)----
> > >
> > >
> > >
> > >
> >
> >
--------------
Seiya Nishizawa
seiya@xxxxxxxxxxxxxxxxxx
GnuPG Fingerprint = 0696 D312 5737 929A B481 FC91 44F4 6BA0 467A 7703