narray_miss 1.2.7 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -560,7 +560,7 @@ go back to ((<Index>))
560
560
  # 欠損値に 0 を入れて普通に sum する
561
561
  ary0 = @array.dup
562
562
  ary0[@mask.not] = 0
563
- NArrayMiss.reduction(@mask, min_count, dims, false, typecode) do
563
+ NArrayMiss.reduction(@mask, rank, min_count, dims, false, typecode) do
564
564
  ary0.sum(*dims)
565
565
  end
566
566
  end
@@ -570,7 +570,7 @@ go back to ((<Index>))
570
570
  # byte,sint,int,sfloat,float の MAX の値を入れるように変更すべき
571
571
  ary0 = @array.dup
572
572
  ary0[@mask.not] = @array.max
573
- NArrayMiss.reduction(@mask, min_count, dims, false, typecode) do
573
+ NArrayMiss.reduction(@mask, rank, min_count, dims, false, typecode) do
574
574
  ary0.min(*dims)
575
575
  end
576
576
  end
@@ -580,7 +580,7 @@ go back to ((<Index>))
580
580
  # byte,sint,int,sfloat,float の MIN の値を入れるように変更すべき
581
581
  ary0 = @array.dup
582
582
  ary0[@mask.not] = @array.min
583
- NArrayMiss.reduction(@mask, min_count, dims, false, typecode) do
583
+ NArrayMiss.reduction(@mask, rank, min_count, dims, false, typecode) do
584
584
  ary0.max(*dims)
585
585
  end
586
586
  end
@@ -589,7 +589,7 @@ go back to ((<Index>))
589
589
  min_count = NArrayMiss.check_options(dims, 1)
590
590
  # 整数型の場合は浮動小数型へ変換
591
591
  ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
592
- NArrayMiss.reduction(@mask, min_count, dims, true, typecode) do |count_sum, count_accum|
592
+ NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
593
593
  ary0.sum(*dims)/count_sum
594
594
  end
595
595
  end
@@ -597,7 +597,7 @@ go back to ((<Index>))
597
597
  min_count = NArrayMiss.check_options(dims, 2)
598
598
  # 整数型の場合は浮動小数型へ変換
599
599
  ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
600
- NArrayMiss.reduction(@mask, min_count, dims, true, typecode) do |count_sum, count_accum|
600
+ NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
601
601
  ary0 = ary0 - ary0.accum(*dims)/count_accum
602
602
  ary0 = ary0.abs if ary0.complex?
603
603
  ary0 = (ary0**2).sum(*dims) / (count_sum-1)
@@ -608,7 +608,7 @@ go back to ((<Index>))
608
608
  min_count = NArrayMiss.check_options(dims, 1)
609
609
  # 整数型の場合は浮動小数型へ変換
610
610
  ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
611
- NArrayMiss.reduction(@mask, min_count, dims, true, typecode) do |count_sum, count_accum|
611
+ NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
612
612
  ary0 = ary0.abs if ary0.complex?
613
613
  ary0 = (ary0**2).sum(*dims) / count_sum
614
614
  NMMath.sqrt(ary0)
@@ -618,7 +618,7 @@ go back to ((<Index>))
618
618
  min_count = NArrayMiss.check_options(dims, 1)
619
619
  # 整数型の場合は浮動小数型へ変換
620
620
  ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
621
- NArrayMiss.reduction(@mask, min_count, dims, true, typecode) do |count_sum, count_accum|
621
+ NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
622
622
  ary0 = ary0 - ary0.accum(*dims)/count_accum
623
623
  ary0 = ary0.abs if ary0.complex?
624
624
  ary0 = (ary0**2).sum(*dims) / count_sum
@@ -1305,7 +1305,7 @@ go back to ((<Index>))
1305
1305
  end
1306
1306
 
1307
1307
 
1308
- def self.reduction(mask, min_count, dims, flag, typecode)
1308
+ def self.reduction(mask, rank, min_count, dims, flag, typecode)
1309
1309
  # flag: リダクションを行う次元方向の有効な値の個数で、割り算を行うかどうかのフラグ
1310
1310
  count_sum = mask.to_type(NArray::LINT).sum(*dims)
1311
1311
  # 返り値が配列か、スカラーかによって分岐
@@ -1314,7 +1314,7 @@ go back to ((<Index>))
1314
1314
  # すべての要素が欠損値にならないかチェック
1315
1315
  if mask.any?
1316
1316
  count_accum = NArray.ref(count_sum)
1317
- dims.collect{|d|d<0 ? d+mask.rank : d}.sort.each do |d|
1317
+ dims.collect{|d|d<0 ? d+rank : d}.sort.each do |d|
1318
1318
  count_accum.newdim!(d)
1319
1319
  end
1320
1320
  # 割り算を行う場合は、先に count_sum を NArrayMiss 化
@@ -1494,7 +1494,7 @@ module NMMath
1494
1494
  mask = mask0.nil? ? mask1 : mask1.nil? ? mask0 : mask0&mask1
1495
1495
  ary0.set_mask(mask)
1496
1496
  ary1.set_mask(mask)
1497
- NArrayMiss.reduction(mask, min_count, dims, true, NArray::DFLOAT) do |count_sum, count_accum|
1497
+ NArrayMiss.reduction(mask, ary0.rank, min_count, dims, true, NArray::DFLOAT) do |count_sum, count_accum|
1498
1498
  #{hash[:post]}
1499
1499
  end
1500
1500
  end
@@ -1,3 +1,3 @@
1
1
  class NArrayMiss
2
- VERSION = "1.2.7"
2
+ VERSION = "1.2.8"
3
3
  end
@@ -17,12 +17,14 @@ EOF
17
17
 
18
18
  def setup
19
19
  @n = 4
20
+ @m = 3
20
21
  @mask = NArray.byte(@n,@n)
21
22
  @mask[true,0] = 1
22
23
  @mask[1..-1,1] = 1
23
24
  @mask[-1,2] = 1
24
25
  @float = NArrayMiss.float(@n,@n).indgen; @float.set_mask(@mask)
25
26
  @int = NArrayMiss.int(@n,@n).indgen; @int.set_mask(@mask)
27
+ @float3d = NArrayMiss.float(@n,@m,@n).indgen
26
28
  =begin
27
29
  @float #=>
28
30
  NArrayMiss.dfloat(4,4):
@@ -94,6 +96,8 @@ NArrayMiss.dfloat(4,4):
94
96
  ary = [0, NArray[1,5].stddev, NArray[2,6].stddev, NArray[3,7,11].stddev]
95
97
  assert_equal(NArrayMiss.to_nam(ary,[0,1,1,1]), @float.stddev(1))
96
98
  assert_equal(NArrayMiss.to_nam(ary,[0,0,0,1]), @float.stddev(1, "min_count"=>3))
99
+
100
+ assert_equal(NArrayMiss.to_nam(NArray.float(@n,@m,@n).indgen.stddev(-1)), @float3d.stddev(-1))
97
101
  end
98
102
 
99
103
  def test_rms
metadata CHANGED
@@ -1,46 +1,40 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: narray_miss
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.8
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 7
10
- version: 1.2.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Seiya Nishizawa
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-27 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-07-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: narray
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- description: NArrayMiss is an additional class with processing of missing value to NArray which is a numeric multi-dimensional array class.
35
- email:
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: NArrayMiss is an additional class with processing of missing value to
31
+ NArray which is a numeric multi-dimensional array class.
32
+ email:
36
33
  - seiya@gfd-dennou.org
37
34
  executables: []
38
-
39
35
  extensions: []
40
-
41
36
  extra_rdoc_files: []
42
-
43
- files:
37
+ files:
44
38
  - Gemfile
45
39
  - LICENSE.txt
46
40
  - README.rdoc
@@ -52,36 +46,27 @@ files:
52
46
  - test/test_narray_miss.rb
53
47
  homepage: http://ruby.gfd-dennou.org/products/narray_miss/
54
48
  licenses: []
55
-
56
49
  post_install_message:
57
50
  rdoc_options: []
58
-
59
- require_paths:
51
+ require_paths:
60
52
  - lib
61
- required_ruby_version: !ruby/object:Gem::Requirement
53
+ required_ruby_version: !ruby/object:Gem::Requirement
62
54
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- hash: 3
67
- segments:
68
- - 0
69
- version: "0"
70
- required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
60
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
79
65
  requirements: []
80
-
81
66
  rubyforge_project: narray_miss
82
- rubygems_version: 1.8.11
67
+ rubygems_version: 1.8.24
83
68
  signing_key:
84
69
  specification_version: 3
85
70
  summary: Additional class with processing of missing value to NArray
86
- test_files:
71
+ test_files:
87
72
  - test/test_narray_miss.rb