narray_miss 1.2.8 → 1.3.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0eae189cb0630885345fb435009238c765297353
4
+ data.tar.gz: 6439d44068f017bab6f17b7853abcc337d614154
5
+ SHA512:
6
+ metadata.gz: a1679506a1a943f754aeff6bc7a9a3f93373d67bca0f76d5c6fbbf6ff4add65c5c84d798cc42fe61975d80a8c877f3a98425e90100d06366dbcdd24fa3861135
7
+ data.tar.gz: 4c85b99c69bf120b1e2d21c0de7953dfebe3eb2328cdd1692bdf524ef93a000e4e06c79816cd1f192c6be042f4046e953e6daeff1ef96c05c9b04bdd71bbd769
@@ -1,7 +1,7 @@
1
1
  NArrayMiss is copyrighted free software by Seiya Nishizawa and GFD
2
2
  Dennou Club (http://www.gfd-dennou.org/).
3
3
 
4
- Copyright 2001-2012 (C) Seiya Nishizawa and GFD Dennou Club
4
+ Copyright 2001-2016 (C) Seiya Nishizawa and GFD Dennou Club
5
5
  (http://www.gfd-dennou.org/) All rights reserved.
6
6
 
7
7
  Redistribution and use in source and binary forms, with or without
@@ -13,7 +13,9 @@ The URL of the NArrayMiss home-page is:
13
13
  = Requires
14
14
 
15
15
  * Ruby (http://www.ruby-lang.org/)
16
- * NArray (http://narray.rubyforge.org/index.html.en)
16
+ * NumRu-NArray or NArray
17
+ * NumRu-NArray: https://github.com/seiya/numru-narray/
18
+ * NArray: http://narray.rubyforge.org/index.html.en
17
19
 
18
20
 
19
21
  = Install
@@ -34,7 +34,19 @@ To use NArrayMiss class, you need invoking "require 'narray_miss.rb'" in your sc
34
34
 
35
35
  =end
36
36
 
37
- require 'narray'
37
+ begin
38
+ require 'numru/narray'
39
+ NARRAY = NumRu::NArray
40
+ rescue LoadError
41
+ err = $!
42
+ begin
43
+ require 'narray'
44
+ NARRAY = NArray
45
+ rescue LoadError
46
+ STDERR.puts "You should install numru-narray or narray"
47
+ raise err
48
+ end
49
+ end
38
50
 
39
51
 
40
52
  class NArrayMiss
@@ -45,7 +57,7 @@ class NArrayMiss
45
57
  type code for 1 byte unsigned integer.
46
58
  --- NArrayMiss::SINT
47
59
  type code for 2 byte signed integer.
48
- --- NArrayMiss::INT
60
+ --- NArrayMiss::LINT
49
61
  type code for 4 byte signed integer.
50
62
  --- NArrayMiss::SFLOAT
51
63
  type code for single precision float.
@@ -61,14 +73,23 @@ class NArrayMiss
61
73
  go back to ((<Index>))
62
74
  =end
63
75
 
64
- BYTE = NArray::BYTE
65
- SINT = NArray::SINT
66
- INT = NArray::INT
67
- SFLOAT = NArray::SFLOAT
68
- FLOAT = NArray::FLOAT
69
- SCOMPLEX = NArray::SCOMPLEX
70
- COMPLEX = NArray::COMPLEX
71
- OBJECT = NArray::OBJECT
76
+ BYTE = NARRAY::BYTE
77
+ SINT = NARRAY::SINT
78
+ INT = NARRAY::INT
79
+ LINT = NARRAY::LINT
80
+ if NARRAY.const_defined?(:LLINT)
81
+ LLINT = NARRAY::LINT
82
+ MINT = LLINT # int for mask operations
83
+ @@llint = true
84
+ else
85
+ MINT = LINT # int for mask operations
86
+ @@llint = false
87
+ end
88
+ SFLOAT = NARRAY::SFLOAT
89
+ FLOAT = NARRAY::FLOAT
90
+ SCOMPLEX = NARRAY::SCOMPLEX
91
+ COMPLEX = NARRAY::COMPLEX
92
+ OBJECT = NARRAY::OBJECT
72
93
 
73
94
  class << self
74
95
  alias :__new__ :new
@@ -94,7 +115,7 @@ go back to ((<Index>))
94
115
  --- NArrayMiss.sint(size, ...)
95
116
  same as NArrayMiss.new(NArrayMiss::SINT, ((|size|)), ...).
96
117
  --- NArrayMiss.int(size, ...)
97
- same as NArrayMiss.new(NArrayMiss::INT, ((|size|)), ...).
118
+ same as NArrayMiss.new(NArrayMiss::LINT, ((|size|)), ...).
98
119
  --- NArrayMiss.sfloat(size, ...)
99
120
  same as NArrayMiss.new(NArrayMiss::SFLOAT, ((|size|)), ...).
100
121
  --- NArrayMiss.float(size, ...)
@@ -117,8 +138,8 @@ go back to ((<Index>))
117
138
  =end
118
139
 
119
140
  def self.new(*arg)
120
- array = NArray.new(*arg)
121
- mask = NArray.byte(*arg[1..-1])
141
+ array = NARRAY.new(*arg)
142
+ mask = NARRAY.byte(*arg[1..-1])
122
143
  __new__(array, mask)
123
144
  end
124
145
  def self.byte(*arg)
@@ -130,6 +151,14 @@ go back to ((<Index>))
130
151
  def self.int(*arg)
131
152
  NArrayMiss.new(INT,*arg)
132
153
  end
154
+ def self.lint(*arg)
155
+ NArrayMiss.new(LINT,*arg)
156
+ end
157
+ if @@llint
158
+ def self.llint(*arg)
159
+ NArrayMiss.new(LLINT,*arg)
160
+ end
161
+ end
133
162
  def self.sfloat(*arg)
134
163
  NArrayMiss.new(SFLOAT,*arg)
135
164
  end
@@ -146,7 +175,7 @@ go back to ((<Index>))
146
175
  NArrayMiss.new(OBJECT,*arg)
147
176
  end
148
177
  def self.[](*arg)
149
- NArrayMiss.to_nam(NArray[*arg])
178
+ NArrayMiss.to_nam(NARRAY[*arg])
150
179
  end
151
180
  def self.to_nam_no_dup(*arg)
152
181
  if arg.length > 2 || arg.length==0 then
@@ -154,9 +183,9 @@ go back to ((<Index>))
154
183
  end
155
184
 
156
185
  array = arg[0]
157
- if Numeric===array then array = NArray[array] end
158
- if Array===array then array = NArray.to_na(array) end
159
- if !array.is_a?(NArray) then
186
+ if Numeric===array then array = NARRAY[array] end
187
+ if Array===array then array = NARRAY.to_na(array) end
188
+ if !array.is_a?(NARRAY) then
160
189
  raise("argument must be Numeric, NArray or Array")
161
190
  end
162
191
 
@@ -164,27 +193,27 @@ go back to ((<Index>))
164
193
  mask = arg[1]
165
194
  if Numeric===mask then mask = array.ne(mask) end
166
195
  if Array===mask then
167
- mask = NArray.to_na(mask).ne(0)
196
+ mask = NARRAY.to_na(mask).ne(0)
168
197
  end
169
198
  if mask.class == FalseClass then
170
- mask = NArray.byte(*array.shape)
199
+ mask = NARRAY.byte(*array.shape)
171
200
  end
172
201
  if mask.class == TrueClass then
173
- mask = NArray.byte(*array.shape).fill(1)
202
+ mask = NARRAY.byte(*array.shape).fill(1)
174
203
  end
175
- if !(NArray===mask && mask.typecode==BYTE) then
204
+ if !(NARRAY===mask && mask.typecode==BYTE) then
176
205
  raise("mask must be Numeric, Array, true, false or NArray(byte)")
177
206
  end
178
207
  if mask.length!=array.length
179
208
  raise "mask.length must be same as array.length"
180
209
  end
181
210
  else
182
- mask = NArray.byte(*array.shape).fill(1)
211
+ mask = NARRAY.byte(*array.shape).fill(1)
183
212
  end
184
213
  __new__(array,mask)
185
214
  end
186
215
  def self.to_nam(*arg)
187
- if !(Numeric===arg[0]) && !(Array===arg[0]) && !arg[0].is_a?(NArray)
216
+ if !(Numeric===arg[0]) && !(Array===arg[0]) && !arg[0].is_a?(NARRAY)
188
217
  raise "first argument must be Numeric, NArray or Array"
189
218
  end
190
219
  arg[0] = arg[0].dup if !(Numeric===arg[0])
@@ -551,7 +580,7 @@ go back to ((<Index>))
551
580
  array = @array.dup
552
581
  array[@mask.not] = 0
553
582
  return NArrayMiss.to_nam_no_dup(array.accum(*arg),
554
- @mask.to_type(NArray::INT).accum(*arg).ne(0))
583
+ @mask.to_type(MINT).accum(*arg).ne(0))
555
584
  end
556
585
  end
557
586
 
@@ -588,7 +617,7 @@ go back to ((<Index>))
588
617
  def mean(*dims)
589
618
  min_count = NArrayMiss.check_options(dims, 1)
590
619
  # 整数型の場合は浮動小数型へ変換
591
- ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
620
+ ary0 = self.integer? ? self.to_type(NARRAY::DFLOAT) : self
592
621
  NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
593
622
  ary0.sum(*dims)/count_sum
594
623
  end
@@ -596,7 +625,7 @@ go back to ((<Index>))
596
625
  def stddev(*dims)
597
626
  min_count = NArrayMiss.check_options(dims, 2)
598
627
  # 整数型の場合は浮動小数型へ変換
599
- ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
628
+ ary0 = self.integer? ? self.to_type(NARRAY::DFLOAT) : self
600
629
  NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
601
630
  ary0 = ary0 - ary0.accum(*dims)/count_accum
602
631
  ary0 = ary0.abs if ary0.complex?
@@ -607,7 +636,7 @@ go back to ((<Index>))
607
636
  def rms(*dims)
608
637
  min_count = NArrayMiss.check_options(dims, 1)
609
638
  # 整数型の場合は浮動小数型へ変換
610
- ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
639
+ ary0 = self.integer? ? self.to_type(NARRAY::DFLOAT) : self
611
640
  NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
612
641
  ary0 = ary0.abs if ary0.complex?
613
642
  ary0 = (ary0**2).sum(*dims) / count_sum
@@ -617,7 +646,7 @@ go back to ((<Index>))
617
646
  def rmsdev(*dims)
618
647
  min_count = NArrayMiss.check_options(dims, 1)
619
648
  # 整数型の場合は浮動小数型へ変換
620
- ary0 = self.integer? ? self.to_type(NArray::DFLOAT) : self
649
+ ary0 = self.integer? ? self.to_type(NARRAY::DFLOAT) : self
621
650
  NArrayMiss.reduction(@mask, rank, min_count, dims, true, typecode) do |count_sum, count_accum|
622
651
  ary0 = ary0 - ary0.accum(*dims)/count_accum
623
652
  ary0 = ary0.abs if ary0.complex?
@@ -630,17 +659,17 @@ go back to ((<Index>))
630
659
  if arg.length==0 then
631
660
  return @array[@mask].median
632
661
  else
633
- nshape = NArray.to_na(@array.shape)
662
+ nshape = NARRAY.to_na(@array.shape)
634
663
  nshape[arg]=1
635
664
  nslice = nshape[nshape.ne(1).where]
636
- index = NArray.object(@mask.rank)
665
+ index = NARRAY.object(@mask.rank)
637
666
  index[nshape.eq(1).where] = true
638
667
  obj = NArrayMiss.new(@array.typecode,*nslice.to_a)
639
668
  total = 1
640
669
  nslice.each{|n| total *= n}
641
670
  for i in 0...total
642
671
  index[nshape.ne(1).where] = pos(i,nslice)
643
- mask = NArray.byte(*@array.shape).fill(0)
672
+ mask = NARRAY.byte(*@array.shape).fill(0)
644
673
  mask[*index] = 1
645
674
  mask = @mask&mask
646
675
  if mask.count_true != 0 then
@@ -668,17 +697,17 @@ go back to ((<Index>))
668
697
  obj[@mask] = @array[@mask].#{operator}
669
698
  return obj
670
699
  else
671
- nshape = NArray.to_na(@array.shape)
700
+ nshape = NARRAY.to_na(@array.shape)
672
701
  nshape[arg]=1
673
702
  nslice = nshape[nshape.ne(1).where]
674
- index = NArray.object(@mask.rank)
703
+ index = NARRAY.object(@mask.rank)
675
704
  index[nshape.eq(1).where] = true
676
705
  obj = NArrayMiss.new(@array.typecode,*@array.shape)
677
706
  total = 1
678
707
  nslice.each{|n| total *= n}
679
708
  for i in 0...total
680
709
  index[nshape.ne(1).where] = pos(i,nslice)
681
- mask = NArray.byte(*@array.shape).fill(0)
710
+ mask = NARRAY.byte(*@array.shape).fill(0)
682
711
  mask[*index] = 1
683
712
  mask = @mask&mask
684
713
  if mask.count_true != 0 then
@@ -807,7 +836,7 @@ go back to ((<Index>))
807
836
  self.set_missing_value!(arg[0])
808
837
  return @array
809
838
  else
810
- raise(ArgumentError, "Usage: NArray#to_na([missing_value])")
839
+ raise(ArgumentError, "Usage: NArrayMiss#to_na([missing_value])")
811
840
  end
812
841
  end
813
842
  def to_na(*arg)
@@ -1048,14 +1077,14 @@ go back to ((<Index>))
1048
1077
  end
1049
1078
  def set_mask(mask)
1050
1079
  if mask.class == Array then
1051
- tmp = NArray.byte(*@mask.shape)
1080
+ tmp = NARRAY.byte(*@mask.shape)
1052
1081
  tmp[true] = mask
1053
1082
  mask = tmp
1054
1083
  end
1055
1084
  if mask.class == NArrayMiss then
1056
1085
  mask = mask.to_na(0)
1057
1086
  end
1058
- if mask.class == NArray then
1087
+ if mask.class == NARRAY then
1059
1088
  if mask.typecode != BYTE then
1060
1089
  raise("mask must be NArrayMiss.byte, NArray.byte or Array")
1061
1090
  end
@@ -1124,15 +1153,15 @@ go back to ((<Index>))
1124
1153
  if arg.length==0 then
1125
1154
  return @mask.count_true
1126
1155
  else
1127
- return @mask.to_type(NArray::INT).sum(*arg)
1156
+ return @mask.to_type(MINT).sum(*arg)
1128
1157
  end
1129
1158
  end
1130
1159
  def count_invalid(*arg)
1131
1160
  if arg.length==0 then
1132
1161
  return @mask.count_false
1133
1162
  else
1134
- return NArray.int(*@mask.shape).fill(1).sum(*arg)-
1135
- @mask.to_type(NArray::INT).sum(*arg)
1163
+ return NARRAY.int(*@mask.shape).fill(1).sum(*arg)-
1164
+ @mask.to_type(MINT).sum(*arg)
1136
1165
  end
1137
1166
  end
1138
1167
 
@@ -1172,8 +1201,8 @@ go back to ((<Index>))
1172
1201
 
1173
1202
  def coerce(x)
1174
1203
  if Numeric===x then
1175
- return [NArrayMiss.new(NArray[x].typecode,*self.shape).fill(x),self]
1176
- elsif x.class==Array || x.class==NArray then
1204
+ return [NArrayMiss.new(NARRAY[x].typecode,*self.shape).fill(x),self]
1205
+ elsif x.class==Array || x.class==NARRAY then
1177
1206
  return [NArrayMiss.to_nam(x), self]
1178
1207
  else
1179
1208
  raise("donnot know how to cange #{x.class} to NArrayMiss")
@@ -1188,7 +1217,7 @@ go back to ((<Index>))
1188
1217
  max_col = 80
1189
1218
  sep = ", "
1190
1219
  const = Hash.new
1191
- NArray.constants.each{|c| const[NArray.const_get(c)] = c}
1220
+ NARRAY.constants.each{|c| const[NARRAY.const_get(c)] = c}
1192
1221
  str_ret = "NArrayMiss."+const[typecode].to_s.downcase+"("+shape.join(",")+"):"
1193
1222
  if rank == 0 then
1194
1223
  str_ret << " []"
@@ -1250,8 +1279,8 @@ go back to ((<Index>))
1250
1279
  end
1251
1280
  def self._load(o)
1252
1281
  ary, mask = Marshal::load(o)
1253
- ary = NArray._load(ary)
1254
- mask = NArray._load(mask)
1282
+ ary = NARRAY._load(ary)
1283
+ mask = NARRAY._load(mask)
1255
1284
  NArrayMiss.to_nam_no_dup(ary,mask)
1256
1285
  end
1257
1286
 
@@ -1262,7 +1291,7 @@ go back to ((<Index>))
1262
1291
  private
1263
1292
  def pos(n,shape)
1264
1293
  rank = shape.length
1265
- result = NArray.int(rank)
1294
+ result = NARRAY.int(rank)
1266
1295
  m=n
1267
1296
  for i in 0..rank-2
1268
1297
  j = rank-1-i
@@ -1281,11 +1310,11 @@ go back to ((<Index>))
1281
1310
  term1 = @array
1282
1311
  term2 = arg
1283
1312
  mask = @mask
1284
- when Array, NArray
1313
+ when Array, NARRAY
1285
1314
  term1 = @array.dup
1286
1315
  term1[@mask.not] = dummy # 欠損部分に dummy を代入
1287
- term2 = arg.kind_of?(NArray) ? arg : NArray.to_na(arg) # Array -> NArray
1288
- mask = NArray.byte(*term2.shape).fill(1) # 2項目は欠損無し
1316
+ term2 = arg.kind_of?(NARRAY) ? arg : NARRAY.to_na(arg) # Array -> NArray
1317
+ mask = NARRAY.byte(*term2.shape).fill(1) # 2項目は欠損無し
1289
1318
  mask = @mask & mask
1290
1319
  when NArrayMiss
1291
1320
  term1 = @array.dup
@@ -1307,13 +1336,13 @@ go back to ((<Index>))
1307
1336
 
1308
1337
  def self.reduction(mask, rank, min_count, dims, flag, typecode)
1309
1338
  # flag: リダクションを行う次元方向の有効な値の個数で、割り算を行うかどうかのフラグ
1310
- count_sum = mask.to_type(NArray::LINT).sum(*dims)
1339
+ count_sum = mask.to_type(MINT).sum(*dims)
1311
1340
  # 返り値が配列か、スカラーかによって分岐
1312
- if count_sum.kind_of?(NArray)
1341
+ if count_sum.kind_of?(NARRAY)
1313
1342
  mask = count_sum.ge(min_count)
1314
1343
  # すべての要素が欠損値にならないかチェック
1315
1344
  if mask.any?
1316
- count_accum = NArray.ref(count_sum)
1345
+ count_accum = NARRAY.ref(count_sum)
1317
1346
  dims.collect{|d|d<0 ? d+rank : d}.sort.each do |d|
1318
1347
  count_accum.newdim!(d)
1319
1348
  end
@@ -1326,13 +1355,13 @@ go back to ((<Index>))
1326
1355
  ary = NArrayMiss.to_nam_no_dup(ary, mask) unless flag
1327
1356
  else
1328
1357
  # すべての要素が欠損値の NArrayMiss を返す
1329
- na = NArray.new(typecode, *mask.shape)
1358
+ na = NARRAY.new(typecode, *mask.shape)
1330
1359
  ary = NArrayMiss.to_nam_no_dup(na, false)
1331
1360
  end
1332
1361
  else
1333
1362
  # 有効な要素数があるかチェック
1334
1363
  if count_sum >= min_count
1335
- count_accum = NArray.int(*([1]*mask.rank)).fill!(count_sum)
1364
+ count_accum = NARRAY.int(*([1]*mask.rank)).fill!(count_sum)
1336
1365
  ary = yield(count_sum, count_accum)
1337
1366
  else
1338
1367
  # 有効な要素数が足りない場合は nil を返す
@@ -1383,7 +1412,7 @@ module NMMath
1383
1412
  eval <<-EOL,nil,__FILE__,__LINE__+1
1384
1413
  def #{operator}(x)
1385
1414
  case x
1386
- when Numeric, Array, NArray
1415
+ when Numeric, Array, NARRAY
1387
1416
  NMath::#{operator}(x)
1388
1417
  when NArrayMiss
1389
1418
  obj = NArrayMiss.new(x.typecode,*x.shape)
@@ -1405,7 +1434,7 @@ module NMMath
1405
1434
  def #{operator}(x,y)
1406
1435
  obj = nil
1407
1436
  case x
1408
- when Numeric, Array, NArray
1437
+ when Numeric, Array, NARRAY
1409
1438
  mask1 = nil
1410
1439
  when NArrayMiss
1411
1440
  obj = NArrayMiss.new(x.typecode,*x.shape)
@@ -1414,7 +1443,7 @@ module NMMath
1414
1443
  raise ArgumentError, "argument is invalid class"
1415
1444
  end
1416
1445
  case y
1417
- when Numeric, Array, NArray
1446
+ when Numeric, Array, NARRAY
1418
1447
  mask2 = nil
1419
1448
  when NArrayMiss
1420
1449
  obj ||= NArrayMiss.new(y.typecode,*y.shape)
@@ -1460,7 +1489,7 @@ module NMMath
1460
1489
  def #{name}(ary0,ary1,*dims)
1461
1490
  min_count = NArrayMiss.check_options(dims, 2)
1462
1491
  case ary0
1463
- when Numeric, Array, NArray
1492
+ when Numeric, Array, NARRAY
1464
1493
  mask0 = nil
1465
1494
  when NArrayMiss
1466
1495
  mask0 = ary0.get_mask!
@@ -1468,7 +1497,7 @@ module NMMath
1468
1497
  raise ArgumentError, "argument is invalid class"
1469
1498
  end
1470
1499
  case ary1
1471
- when Numeric, Array, NArray
1500
+ when Numeric, Array, NARRAY
1472
1501
  mask1 = nil
1473
1502
  when NArrayMiss
1474
1503
  mask1 = ary1.get_mask!
@@ -1489,12 +1518,12 @@ module NMMath
1489
1518
  if ary1.shape != ary1.shape
1490
1519
  raise "shape is different"
1491
1520
  end
1492
- ary0 = ary0.to_type(NArray::DFLOAT)
1493
- ary1 = ary1.to_type(NArray::DFLOAT)
1521
+ ary0 = ary0.to_type(NARRAY::DFLOAT)
1522
+ ary1 = ary1.to_type(NARRAY::DFLOAT)
1494
1523
  mask = mask0.nil? ? mask1 : mask1.nil? ? mask0 : mask0&mask1
1495
1524
  ary0.set_mask(mask)
1496
1525
  ary1.set_mask(mask)
1497
- NArrayMiss.reduction(mask, ary0.rank, min_count, dims, true, NArray::DFLOAT) do |count_sum, count_accum|
1526
+ NArrayMiss.reduction(mask, ary0.rank, min_count, dims, true, NARRAY::DFLOAT) do |count_sum, count_accum|
1498
1527
  #{hash[:post]}
1499
1528
  end
1500
1529
  end
@@ -1,3 +1,3 @@
1
1
  class NArrayMiss
2
- VERSION = "1.2.8"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -13,13 +13,23 @@ Gem::Specification.new do |s|
13
13
 
14
14
  s.rubyforge_project = "narray_miss"
15
15
 
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
+ s.files = [
17
+ "Gemfile",
18
+ "LICENSE.txt",
19
+ "README.rdoc",
20
+ "Rakefile",
21
+ "lib/narray_miss.rb",
22
+ "lib/narray_miss/narray_miss.rb",
23
+ "lib/narray_miss/version.rb",
24
+ "narray_miss.gemspec",
25
+ "test/test_narray_miss.rb"
26
+ ]
27
+ s.test_files = [ "test/test_narray_miss.rb" ]
28
+ s.executables = []
19
29
  s.require_paths = ["lib"]
20
30
  #s.extensions << "ext/extconf.rb"
21
31
 
22
32
  # specify any dependencies here; for example:
23
33
  #s.add_development_dependency "rspec"
24
- s.add_runtime_dependency "narray"
34
+ s.add_runtime_dependency "numru-narray"
25
35
  end
@@ -1,6 +1,7 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require "narray_miss"
3
3
  require "test/unit"
4
+ include NumRu if defined?(:NumRu)
4
5
 
5
6
  class NArrayMissTest < Test::Unit::TestCase
6
7
 
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: narray_miss
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
5
- prerelease:
4
+ version: 1.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Seiya Nishizawa
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-07-09 00:00:00.000000000 Z
11
+ date: 2016-02-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: narray
14
+ name: numru-narray
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: NArrayMiss is an additional class with processing of missing value to
@@ -46,27 +43,26 @@ files:
46
43
  - test/test_narray_miss.rb
47
44
  homepage: http://ruby.gfd-dennou.org/products/narray_miss/
48
45
  licenses: []
46
+ metadata: {}
49
47
  post_install_message:
50
48
  rdoc_options: []
51
49
  require_paths:
52
50
  - lib
53
51
  required_ruby_version: !ruby/object:Gem::Requirement
54
- none: false
55
52
  requirements:
56
- - - ! '>='
53
+ - - ">="
57
54
  - !ruby/object:Gem::Version
58
55
  version: '0'
59
56
  required_rubygems_version: !ruby/object:Gem::Requirement
60
- none: false
61
57
  requirements:
62
- - - ! '>='
58
+ - - ">="
63
59
  - !ruby/object:Gem::Version
64
60
  version: '0'
65
61
  requirements: []
66
62
  rubyforge_project: narray_miss
67
- rubygems_version: 1.8.24
63
+ rubygems_version: 2.4.8
68
64
  signing_key:
69
- specification_version: 3
65
+ specification_version: 4
70
66
  summary: Additional class with processing of missing value to NArray
71
67
  test_files:
72
68
  - test/test_narray_miss.rb