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

[dennou-ruby:003113] Re: NArrayMiss#[] の masking 対応



神代様

どうもありがとうございます。

西澤誠也

2009/7/9 KOSHIRO Tsuyoshi <koshiro@xxxxxxxxxxxxxx>:
> 神代です.
>
> ありがとうございます. コミットしました.
>
> At Thu, 9 Jul 2009 10:49:10 +0900,
> Seiya Nishizawa wrote:
>>
>> 神代様
>>
>> CVSにコミットしてもらってもいいですか?
>>
>> 西澤
>>
>> 2009/7/8 KOSHIRO Tsuyoshi <koshiro@xxxxxxxxxxxxxx>:
>> > 神代です.
>> >
>> > すみません, NArrayMiss#[]= のほうにも同じ問題があったので, そこも変え
>> > てみました. 新しいパッチ(CVS版に適用)を添付します.
>> > 問題なさそうであれば, 取り込んでいただければありがたいです.
>> >
>> > At Wed, 08 Jul 2009 15:40:11 +0900,
>> > KOSHIRO Tsuyoshi wrote:
>> >>
>> >> 神代です.
>> >>
>> >> NArrayで,
>> >>
>> >> irb(main):001:0> require "narray_miss"
>> >> => true
>> >> irb(main):002:0> a = NArray.int(5).indgen
>> >> => NArray.int(5):
>> >> [ 0, 1, 2, 3, 4 ]
>> >> irb(main):003:0> a[a.gt(2)]
>> >> => NArray.int(2):
>> >> [ 3, 4 ]
>> >>
>> >> のようにして masking するのをよく使いますが, NArrayMiss の場合だと,
>> >>
>> >> irb(main):004:0> b = NArrayMiss.int(5).indgen
>> >> => NArrayMiss.int(5):
>> >> [ 0, 1, 2, 3, 4 ]
>> >> irb(main):005:0> b.invalidation(3)
>> >> => NArrayMiss.int(5):
>> >> [ 0, 1, 2, -, 4 ]
>> >> irb(main):006:0> b[b.gt(2)]
>> >> IndexError: not allowed type
>> >>         from /usr/local/lib/site_ruby/1.8/narray_miss.rb:263:in `[]'
>> >>         from /usr/local/lib/site_ruby/1.8/narray_miss.rb:263:in `[]'
>> >>         from (irb):6
>> >>
>> >> とエラーになります. 期待されるのは, 欠損のところは無視して
>> >>
>> >> irb(main):006:0> b[b.gt(2)]
>> >> => NArrayMiss.int(1):
>> >> [ 4 ]
>> >>
>> >> のような結果だと思います. 以下のパッチでどうでしょうか.
>> >>
>> >> # 現状でも b[b.gt(2).where] とすればできるのですが, NArray との整合性
>> >> # からこのようなこともできてほしいです
>> >>
>> >
>> >
>>
>>
>>
>> --
>> Seiya Nishizawa
>> Department of Earth and Planetary Atmospheric Sciences, Kobe University
>> TEL : 078-803-5787
>> FAX : 078-803-5791
>>
>
>



-- 
Seiya Nishizawa
Department of Earth and Planetary Atmospheric Sciences, Kobe University
TEL : 078-803-5787
FAX : 078-803-5791