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

[dennou-ruby:002857] [NArrayMiss]#set_(in)valid



西澤さま #宛でよいですかね?

なかのです。

#ぱらぱらとすみません

#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