nmatrix 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -8
  3. data/.rspec +1 -1
  4. data/.travis.yml +12 -0
  5. data/CONTRIBUTING.md +27 -12
  6. data/Gemfile +1 -0
  7. data/History.txt +38 -0
  8. data/Manifest.txt +15 -15
  9. data/README.rdoc +7 -6
  10. data/Rakefile +40 -5
  11. data/ext/nmatrix/data/data.cpp +2 -37
  12. data/ext/nmatrix/data/data.h +19 -121
  13. data/ext/nmatrix/data/meta.h +70 -0
  14. data/ext/nmatrix/extconf.rb +40 -12
  15. data/ext/nmatrix/math/math.h +13 -103
  16. data/ext/nmatrix/nmatrix.cpp +10 -2018
  17. data/ext/nmatrix/nmatrix.h +16 -13
  18. data/ext/nmatrix/ruby_constants.cpp +12 -1
  19. data/ext/nmatrix/ruby_constants.h +7 -1
  20. data/ext/nmatrix/ruby_nmatrix.c +2169 -0
  21. data/ext/nmatrix/storage/dense.cpp +123 -14
  22. data/ext/nmatrix/storage/dense.h +10 -4
  23. data/ext/nmatrix/storage/list.cpp +265 -48
  24. data/ext/nmatrix/storage/list.h +6 -9
  25. data/ext/nmatrix/storage/storage.cpp +44 -54
  26. data/ext/nmatrix/storage/storage.h +2 -2
  27. data/ext/nmatrix/storage/yale/class.h +1070 -0
  28. data/ext/nmatrix/storage/yale/iterators/base.h +142 -0
  29. data/ext/nmatrix/storage/yale/iterators/iterator.h +130 -0
  30. data/ext/nmatrix/storage/yale/iterators/row.h +449 -0
  31. data/ext/nmatrix/storage/yale/iterators/row_stored.h +139 -0
  32. data/ext/nmatrix/storage/yale/iterators/row_stored_nd.h +167 -0
  33. data/ext/nmatrix/storage/yale/iterators/stored_diagonal.h +123 -0
  34. data/ext/nmatrix/storage/yale/math/transpose.h +110 -0
  35. data/ext/nmatrix/storage/yale/yale.cpp +1785 -0
  36. data/ext/nmatrix/storage/{yale.h → yale/yale.h} +23 -55
  37. data/ext/nmatrix/types.h +2 -0
  38. data/ext/nmatrix/util/io.cpp +27 -45
  39. data/ext/nmatrix/util/io.h +0 -2
  40. data/ext/nmatrix/util/sl_list.cpp +169 -28
  41. data/ext/nmatrix/util/sl_list.h +9 -3
  42. data/lib/nmatrix/blas.rb +20 -20
  43. data/lib/nmatrix/enumerate.rb +1 -1
  44. data/lib/nmatrix/io/mat5_reader.rb +8 -14
  45. data/lib/nmatrix/lapack.rb +3 -3
  46. data/lib/nmatrix/math.rb +3 -3
  47. data/lib/nmatrix/nmatrix.rb +19 -5
  48. data/lib/nmatrix/nvector.rb +2 -0
  49. data/lib/nmatrix/shortcuts.rb +90 -125
  50. data/lib/nmatrix/version.rb +1 -1
  51. data/nmatrix.gemspec +7 -8
  52. data/spec/{nmatrix_spec.rb → 00_nmatrix_spec.rb} +45 -208
  53. data/spec/01_enum_spec.rb +184 -0
  54. data/spec/{slice_spec.rb → 02_slice_spec.rb} +55 -39
  55. data/spec/blas_spec.rb +22 -54
  56. data/spec/elementwise_spec.rb +9 -8
  57. data/spec/io_spec.rb +6 -4
  58. data/spec/lapack_spec.rb +26 -26
  59. data/spec/math_spec.rb +9 -5
  60. data/spec/nmatrix_yale_spec.rb +29 -61
  61. data/spec/shortcuts_spec.rb +34 -22
  62. data/spec/slice_set_spec.rb +157 -0
  63. data/spec/spec_helper.rb +42 -2
  64. data/spec/stat_spec.rb +192 -0
  65. metadata +52 -55
  66. data/ext/nmatrix/storage/yale.cpp +0 -2284
  67. data/spec/nmatrix_list_spec.rb +0 -113
  68. data/spec/nvector_spec.rb +0 -112
@@ -22,7 +22,10 @@
22
22
  #
23
23
  # == spec_helper.rb
24
24
  #
25
- # Common data for testing.
25
+ # Common data and helper functions for testing.
26
+
27
+ require "rspec/longrun"
28
+
26
29
  require "./lib/nmatrix"
27
30
  require "./lib/nmatrix/rspec"
28
31
 
@@ -36,7 +39,7 @@ RATIONAL_MATRIX43A_ARRAY = MATRIX43A_ARRAY.collect { |x| x.to_r }
36
39
  RATIONAL_MATRIX32A_ARRAY = MATRIX32A_ARRAY.collect { |x| x.to_r }
37
40
 
38
41
  def create_matrix(stype) #:nodoc:
39
- m = stype == :yale ? NMatrix.new(stype, 3, :int32) : NMatrix.new(stype, [3,3], 0, :int32)
42
+ m = NMatrix.new([3,3], 0, dtype: :int32, stype: stype, default: 0)
40
43
 
41
44
  m[0,0] = 0
42
45
  m[0,1] = 1
@@ -51,6 +54,43 @@ def create_matrix(stype) #:nodoc:
51
54
  m
52
55
  end
53
56
 
57
+ def create_rectangular_matrix(stype) #:nodoc:
58
+ m = NMatrix.new([5,6], 0, dtype: :int32, stype: stype, default: 0)
59
+
60
+ m[0,0] = 1
61
+ m[0,1] = 2
62
+ m[0,2] = 3
63
+ m[0,3] = 4
64
+ m[0,4] = 5
65
+ m[0,5] = 0
66
+
67
+ m[1,0] = 6
68
+ m[1,1] = 7
69
+ m[1,2] = 8
70
+ m[1,3] = 9
71
+ m[1,4] = 0
72
+ m[1,5] = 10
73
+
74
+ m[2,0] = 11
75
+ m[2,1] = 12
76
+ m[2,2] = 13
77
+ m[2,3] = 0
78
+ m[2,4] = 14
79
+ m[2,5] = 15
80
+
81
+ # skip row 3 -- all 0
82
+ m[3,0] = m[3,1] = m[3,2] = m[3,3] = m[3,4] = m[3,5] = 0
83
+
84
+ m[4,0] = 16
85
+ m[4,1] = 0
86
+ m[4,2] = 17
87
+ m[4,3] = 18
88
+ m[4,4] = 19
89
+ m[4,5] = 20
90
+
91
+ m
92
+ end
93
+
54
94
  def create_vector(stype) #:nodoc:
55
95
  m = stype == :yale ? NVector.new(stype, 10, :int32) : NVector.new(stype, 10, 0, :int32)
56
96
 
@@ -0,0 +1,192 @@
1
+ # = NMatrix
2
+ #
3
+ # A linear algebra library for scientific computation in Ruby.
4
+ # NMatrix is part of SciRuby.
5
+ #
6
+ # NMatrix was originally inspired by and derived from NArray, by
7
+ # Masahiro Tanaka: http://narray.rubyforge.org
8
+ #
9
+ # == Copyright Information
10
+ #
11
+ # SciRuby is Copyright (c) 2010 - 2012, Ruby Science Foundation
12
+ # NMatrix is Copyright (c) 2012, Ruby Science Foundation
13
+ #
14
+ # Please see LICENSE.txt for additional copyright notices.
15
+ #
16
+ # == Contributing
17
+ #
18
+ # By contributing source code to SciRuby, you agree to be bound by
19
+ # our Contributor Agreement:
20
+ #
21
+ # * https://github.com/SciRuby/sciruby/wiki/Contributor-Agreement
22
+ #
23
+ # == stat_spec.rb
24
+ #
25
+ # Tests for statistical functions in NMatrix.
26
+ #
27
+
28
+ # Can we use require_relative here instead?
29
+ require File.join(File.dirname(__FILE__), "spec_helper.rb")
30
+ require 'pry'
31
+
32
+ describe "Statistical functions" do
33
+ context "mapping and reduction related functions" do
34
+
35
+ before :each do
36
+ @nm_1d = NMatrix[5.0,0.0,1.0,2.0,3.0]
37
+ @nm_2d = NMatrix[[0.0,1.0],[2.0,3.0]]
38
+ end
39
+
40
+ it "behaves like Enumerable#reduce with no argument to reduce" do
41
+ @nm_1d.reduce_along_dim(0) { |acc, el| acc + el }.to_f.should eq 11
42
+ @nm_2d.reduce_along_dim(1) { |acc, el| acc + el }.should eq NMatrix[[1, 5]]
43
+ end
44
+
45
+ it "should calculate the mean along the specified dimension" do
46
+ @nm_1d.mean.should eq NMatrix[2.2]
47
+ @nm_2d.mean.should eq NMatrix[[1.0,2.0]]
48
+ end
49
+
50
+ it "should calculate the minimum along the specified dimension" do
51
+ @nm_1d.min.should eq 0.0
52
+ @nm_2d.min.should eq NMatrix[[0.0, 1.0]]
53
+ @nm_2d.min(1).should eq NMatrix[[0.0], [2.0]]
54
+ end
55
+
56
+ it "should calculate the maximum along the specified dimension" do
57
+ @nm_1d.max.should eq 5.0
58
+ @nm_2d.max.should eq NMatrix[[2.0, 3.0]]
59
+ end
60
+
61
+ it "should calculate the variance along the specified dimension" do
62
+ @nm_1d.variance.should eq NMatrix[3.7]
63
+ @nm_2d.variance(1).should eq NMatrix[[0.5], [0.5]]
64
+ end
65
+
66
+ it "should calculate the sum along the specified dimension" do
67
+ @nm_1d.sum.should eq NMatrix[11]
68
+ @nm_2d.sum.should eq NMatrix[[2], [4]]
69
+ end
70
+
71
+ it "should calculate the standard deviation along the specified dimension" do
72
+ @nm_1d.std.should eq NMatrix[Math.sqrt(3.7)]
73
+ @nm_2d.std(1).should eq NMatrix[[Math.sqrt(0.5)], [Math.sqrt(0.5)]]
74
+ end
75
+
76
+ it "should raise an ArgumentError when any invalid dimension is provided" do
77
+ expect { @nm_1d.mean(3) }.to raise_exception(RangeError)
78
+ end
79
+
80
+ it "should convert to float if it contains only a single element" do
81
+ NMatrix[4.0].to_f.should eq 4.0
82
+ NMatrix[[[[4.0]]]].to_f.should eq 4.0
83
+ end
84
+
85
+ it "should raise an index error if it contains more than a single element" do
86
+ expect { @nm_1d.to_f }.to raise_error(IndexError)
87
+ end
88
+
89
+ it "should map a block to all elements" do
90
+ @nm_1d.map { |e| e ** 2 }.should eq NMatrix[25.0,0.0,1.0,4.0,9.0]
91
+ @nm_2d.map { |e| e ** 2 }.should eq NMatrix[[0.0,1.0],[4.0,9.0]]
92
+ end
93
+
94
+ it "should map! a block to all elements in place" do
95
+ fct = Proc.new { |e| e ** 2 }
96
+ expected1 = @nm_1d.map &fct
97
+ expected2 = @nm_2d.map &fct
98
+ @nm_1d.map! &fct
99
+ @nm_1d.should eq expected1
100
+ @nm_2d.map! &fct
101
+ @nm_2d.should eq expected2
102
+ end
103
+
104
+ it "should return an enumerator for map without a block" do
105
+ @nm_1d.map.should be_a Enumerator
106
+ end
107
+
108
+ it "should return an enumerator for reduce without a block" do
109
+ @nm_1d.reduce_along_dim(0).should be_a Enumerator
110
+ end
111
+
112
+ it "should return an enumerator for each_along_dim without a block" do
113
+ @nm_1d.each_along_dim(0).should be_a Enumerator
114
+ end
115
+
116
+ it "should iterate correctly for map without a block" do
117
+ en = @nm_1d.map
118
+ en.each { |e| e**2 }.should eq @nm_1d.map { |e| e**2 }
119
+ en = @nm_2d.map
120
+ en.each { |e| e**2 }.should eq @nm_2d.map { |e| e**2 }
121
+ end
122
+
123
+ it "should iterate correctly for reduce without a block" do
124
+ en = @nm_1d.reduce_along_dim(0, 1.0)
125
+ en.each { |a, e| a+e }.to_f.should eq 12
126
+ en = @nm_2d.reduce_along_dim(1, 1.0)
127
+ en.each { |a, e| a+e }.should eq NMatrix[[2.0],[6.0]]
128
+ end
129
+
130
+ it "should iterate correctly for each_along_dim without a block" do
131
+ res = NMatrix.zeros_like(@nm_1d[0...1])
132
+ en = @nm_1d.each_along_dim(0)
133
+ en.each { |e| res += e }
134
+ res.to_f.should eq 11
135
+
136
+ res = NMatrix.zeros_like (@nm_2d[0...2, 0])
137
+ en = @nm_2d.each_along_dim(1)
138
+ en.each { |e| res += e }
139
+ res.should eq NMatrix[[1.0], [5.0]]
140
+ end
141
+
142
+ it "should yield matrices of matching dtype for each_along_dim" do
143
+ m = NMatrix.new([2,3], [1,2,3,3,4,5], dtype: :complex128)
144
+ m.each_along_dim(1) do |sub_m|
145
+ sub_m.dtype.should eq :complex128
146
+ end
147
+ end
148
+
149
+ it "should reduce to a matrix of matching dtype for reduce_along_dim" do
150
+ m = NMatrix.new([2,3], [1,2,3,3,4,5], dtype: :complex128)
151
+ m.reduce_along_dim(1) do |acc, sub_m|
152
+ sub_m.dtype.should eq :complex128
153
+ acc
154
+ end
155
+
156
+ m = NMatrix.new([2,3], [1,2,3,3,4,5], dtype: :complex128)
157
+ m.reduce_along_dim(1, 0.0) do |acc, sub_m|
158
+ sub_m.dtype.should eq :complex128
159
+ acc
160
+ end
161
+ end
162
+
163
+ it "should allow overriding the dtype for reduce_along_dim" do
164
+ m = NMatrix[[1,2,3], [3,4,5], dtype: :complex128]
165
+ m.reduce_along_dim(1, 0.0, :float64) do |acc, sub_m|
166
+ acc.dtype.should eq :float64
167
+ acc
168
+ end
169
+
170
+ m = NMatrix[[1,2,3], [3,4,5], dtype: :complex128]
171
+ m.reduce_along_dim(1, nil, :float64) do |acc, sub_m|
172
+ acc.dtype.should eq :float64
173
+ acc
174
+ end
175
+ end
176
+
177
+ it "should convert integer dtypes to float when calculating mean" do
178
+ m = NMatrix[[1,2,3], [3,4,5], dtype: :int32]
179
+ m.mean(0).dtype.should eq :float64
180
+ end
181
+
182
+ it "should convert integer dtypes to float when calculating variance" do
183
+ m = NMatrix[[1,2,3], [3,4,5], dtype: :int32]
184
+ m.variance(0).dtype.should eq :float64
185
+ end
186
+
187
+ it "should convert integer dtypes to float when calculating standard deviation" do
188
+ m = NMatrix[[1,2,3], [3,4,5], dtype: :int32]
189
+ m.std(0).dtype.should eq :float64
190
+ end
191
+ end
192
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nmatrix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Woods
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-08-23 00:00:00.000000000 Z
13
+ date: 2013-09-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdoc
@@ -30,16 +30,16 @@ dependencies:
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ~>
33
+ - - '>='
34
34
  - !ruby/object:Gem::Version
35
- version: '0.9'
35
+ version: '0'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ~>
40
+ - - '>='
41
41
  - !ruby/object:Gem::Version
42
- version: '0.9'
42
+ version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: bundler
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -58,18 +58,18 @@ dependencies:
58
58
  name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ~>
61
+ - - '>='
62
62
  - !ruby/object:Gem::Version
63
- version: 2.9.0
63
+ version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ~>
68
+ - - '>='
69
69
  - !ruby/object:Gem::Version
70
- version: 2.9.0
70
+ version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
- name: pry
72
+ name: rspec-longrun
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '>='
@@ -83,19 +83,19 @@ dependencies:
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
- name: guard-rspec
86
+ name: pry
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ~>
89
+ - - '>='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.7.0
91
+ version: '0'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ~>
96
+ - - '>='
97
97
  - !ruby/object:Gem::Version
98
- version: 0.7.0
98
+ version: '0'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rake-compiler
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -121,6 +121,7 @@ extra_rdoc_files: []
121
121
  files:
122
122
  - .gitignore
123
123
  - .rspec
124
+ - .travis.yml
124
125
  - CONTRIBUTING.md
125
126
  - Gemfile
126
127
  - Guardfile
@@ -133,6 +134,7 @@ files:
133
134
  - ext/nmatrix/data/complex.h
134
135
  - ext/nmatrix/data/data.cpp
135
136
  - ext/nmatrix/data/data.h
137
+ - ext/nmatrix/data/meta.h
136
138
  - ext/nmatrix/data/rational.h
137
139
  - ext/nmatrix/data/ruby_object.h
138
140
  - ext/nmatrix/extconf.rb
@@ -164,6 +166,7 @@ files:
164
166
  - ext/nmatrix/nmatrix.h
165
167
  - ext/nmatrix/ruby_constants.cpp
166
168
  - ext/nmatrix/ruby_constants.h
169
+ - ext/nmatrix/ruby_nmatrix.c
167
170
  - ext/nmatrix/storage/common.cpp
168
171
  - ext/nmatrix/storage/common.h
169
172
  - ext/nmatrix/storage/dense.cpp
@@ -172,8 +175,16 @@ files:
172
175
  - ext/nmatrix/storage/list.h
173
176
  - ext/nmatrix/storage/storage.cpp
174
177
  - ext/nmatrix/storage/storage.h
175
- - ext/nmatrix/storage/yale.cpp
176
- - ext/nmatrix/storage/yale.h
178
+ - ext/nmatrix/storage/yale/class.h
179
+ - ext/nmatrix/storage/yale/iterators/base.h
180
+ - ext/nmatrix/storage/yale/iterators/iterator.h
181
+ - ext/nmatrix/storage/yale/iterators/row.h
182
+ - ext/nmatrix/storage/yale/iterators/row_stored.h
183
+ - ext/nmatrix/storage/yale/iterators/row_stored_nd.h
184
+ - ext/nmatrix/storage/yale/iterators/stored_diagonal.h
185
+ - ext/nmatrix/storage/yale/math/transpose.h
186
+ - ext/nmatrix/storage/yale/yale.cpp
187
+ - ext/nmatrix/storage/yale/yale.h
177
188
  - ext/nmatrix/ttable_helper.rb
178
189
  - ext/nmatrix/types.h
179
190
  - ext/nmatrix/util/io.cpp
@@ -198,6 +209,9 @@ files:
198
209
  - lib/nmatrix/yale_functions.rb
199
210
  - nmatrix.gemspec
200
211
  - scripts/mac-brew-gcc.sh
212
+ - spec/00_nmatrix_spec.rb
213
+ - spec/01_enum_spec.rb
214
+ - spec/02_slice_spec.rb
201
215
  - spec/2x2_dense_double.mat
202
216
  - spec/4x4_sparse.mat
203
217
  - spec/4x5_dense.mat
@@ -207,48 +221,30 @@ files:
207
221
  - spec/lapack_spec.rb
208
222
  - spec/leakcheck.rb
209
223
  - spec/math_spec.rb
210
- - spec/nmatrix_list_spec.rb
211
- - spec/nmatrix_spec.rb
212
224
  - spec/nmatrix_yale_resize_test_associations.yaml
213
225
  - spec/nmatrix_yale_spec.rb
214
- - spec/nvector_spec.rb
215
226
  - spec/rspec_monkeys.rb
216
227
  - spec/rspec_spec.rb
217
228
  - spec/shortcuts_spec.rb
218
- - spec/slice_spec.rb
229
+ - spec/slice_set_spec.rb
219
230
  - spec/spec_helper.rb
231
+ - spec/stat_spec.rb
220
232
  - spec/utm5940.mtx
221
233
  homepage: http://sciruby.com
222
234
  licenses: []
223
235
  metadata: {}
224
- post_install_message: |
225
- ***********************************************************
226
- Welcome to SciRuby: Tools for Scientific Computing in Ruby!
227
-
228
- *** WARNING ***
229
- Please be aware that NMatrix is in ALPHA status. If you're
230
- thinking of using NMatrix to write mission critical code,
231
- such as for driving a car or flying a space shuttle, you
232
- may wish to choose other software (for now).
233
-
234
- NMatrix requires a C compiler, and has been tested only
235
- with GCC 4.6+. We are happy to accept contributions
236
- which improve the portability of this project.
237
-
238
- Also required is ATLAS. Most Linux distributions and Mac
239
- versions include ATLAS, but you may wish to compile it
240
- yourself. Rumor has it that the Ubuntu/Debian apt package
241
- for ATLAS WILL NOT WORK with NMatrix. Please install it
242
- manually if you are using apt.
243
-
244
- More explicit instructions for NMatrix and SciRuby should
245
- be available on the SciRuby website, sciruby.com, or
246
- through our mailing list (which can be found on our web-
247
- site).
248
-
249
- Thanks for trying out NMatrix! Happy coding!
250
-
251
- ***********************************************************
236
+ post_install_message: "***********************************************************\nWelcome
237
+ to SciRuby: Tools for Scientific Computing in Ruby!\n\n ***
238
+ WARNING ***\nPlease be aware that NMatrix is in ALPHA status. If you're\nthinking
239
+ of using NMatrix to write mission critical code,\nsuch as for driving a car or flying
240
+ a space shuttle, you\nmay wish to choose other software (for now).\n\nNMatrix requires
241
+ a C compiler, and has been tested only\nwith GCC 4.6+. We are happy to accept contributions\nwhich
242
+ improve the portability of this project.\n\nAlso required is ATLAS. Most Linux distributions
243
+ and Mac\nversions include ATLAS, but you may wish to compile it\nyourself. The Ubuntu/Debian
244
+ apt package for ATLAS WILL \nNOT WORK with NMatrix if LAPACK is also installed.\n\nMore
245
+ explicit instructions for NMatrix and SciRuby should\nbe available on the SciRuby
246
+ website, sciruby.com, or\nthrough our mailing list (which can be found on our web-\nsite).\n\nThanks
247
+ for trying out NMatrix! Happy coding!\n\n***********************************************************\n"
252
248
  rdoc_options: []
253
249
  require_paths:
254
250
  - lib
@@ -256,7 +252,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
256
252
  requirements:
257
253
  - - '>='
258
254
  - !ruby/object:Gem::Version
259
- version: 1.9.2
255
+ version: '1.9'
260
256
  required_rubygems_version: !ruby/object:Gem::Requirement
261
257
  requirements:
262
258
  - - '>='
@@ -270,6 +266,9 @@ specification_version: 4
270
266
  summary: NMatrix is an experimental linear algebra library for Ruby, written mostly
271
267
  in C.
272
268
  test_files:
269
+ - spec/00_nmatrix_spec.rb
270
+ - spec/01_enum_spec.rb
271
+ - spec/02_slice_spec.rb
273
272
  - spec/2x2_dense_double.mat
274
273
  - spec/4x4_sparse.mat
275
274
  - spec/4x5_dense.mat
@@ -279,14 +278,12 @@ test_files:
279
278
  - spec/lapack_spec.rb
280
279
  - spec/leakcheck.rb
281
280
  - spec/math_spec.rb
282
- - spec/nmatrix_list_spec.rb
283
- - spec/nmatrix_spec.rb
284
281
  - spec/nmatrix_yale_resize_test_associations.yaml
285
282
  - spec/nmatrix_yale_spec.rb
286
- - spec/nvector_spec.rb
287
283
  - spec/rspec_monkeys.rb
288
284
  - spec/rspec_spec.rb
289
285
  - spec/shortcuts_spec.rb
290
- - spec/slice_spec.rb
286
+ - spec/slice_set_spec.rb
291
287
  - spec/spec_helper.rb
288
+ - spec/stat_spec.rb
292
289
  - spec/utm5940.mtx