[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002857] [NArrayMiss]#set_(in)valid
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002857] [NArrayMiss]#set_(in)valid
- From: "Masuo Nakano" <mnakano@xxxxxxxxxxxxx>
- Date: Fri, 26 Oct 2007 21:09:20 +0900
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; bh=+nqO+0gn4zoOjHHNOTr+zO5KUVPtUU3nDLRHekx1h3Q=; b=etyuSnD7qmUTAAmhuN5JtY7whQredQRw/lWFFkVWwvfW039ZnqWLYTLrFLyz2kZiDAB1cWSMNhQQc4JSPCMM+/xdKJsocv6ocIOARQk6dfZoRuzxIqVQa82UJtilMqbao9hmfyNS1kXhGuukrUGITpshjIGshwJN6mWzl2dnYuI=
- Sender: masuo.mso@xxxxxxxxx
西澤さま #宛でよいですかね?
なかのです。
#ぱらぱらとすみません
#set_invalid, #set_valid
も変です
パッチを送ります。
気がついたのですが、
invalid要素を欠損値でうめてNArrayにするメソッド
#to_na([missing_value])
はありますが
その逆の(N)ArrayからNArray_missにするときにある値をinvalidにするメソッドはないのですね。
そこで、narray_miss.rbの164行目
if Numeric===mask then mask = [mask] end
を
if Numeric===mask then mask = array.neq(mask) end
としてみてはどうでしょか?
これまでのmaskがNumericだったときの動作はarray.length=1のときしかダメであまり意味がないような気がします。
変更後は
maskでやってきたNumericが欠損値として扱われてよいと思います。
よろしくお願いいたします。
--- narray_miss.rb.org 2007-10-26 19:18:47.000000000 +0900
+++ narray_miss.rb 2007-10-26 19:56:05.000000000 +0900
@@ -1036,10 +1036,12 @@
def set_valid(*pos)
@mask[*pos] = 1
+ self
end
alias validation set_valid
def set_invalid(*pos)
@mask[*pos] = 0
+ self
end
alias invalidation set_invalid
def all_valid
--
中野満寿男
所属:(財)地球科学技術総合推進機構(AESTO)
地球温暖化研究開発センター
勤務先:〒305-0052 つくば市長峰1−1
気象庁気象研究所
環境・応用気象研究部 第三研究室
mnakano@xxxxxxxxxxxxx