nmatrix 0.1.0.rc5 → 0.1.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.
- checksums.yaml +4 -4
- data/.travis.yml +0 -1
- data/Gemfile +0 -2
- data/History.txt +39 -4
- data/LICENSE.txt +3 -1
- data/Manifest.txt +2 -0
- data/README.rdoc +6 -14
- data/Rakefile +4 -1
- data/ext/nmatrix/data/data.cpp +1 -1
- data/ext/nmatrix/data/data.h +2 -1
- data/ext/nmatrix/data/rational.h +230 -226
- data/ext/nmatrix/extconf.rb +7 -4
- data/ext/nmatrix/math.cpp +259 -172
- data/ext/nmatrix/math/getri.h +2 -2
- data/ext/nmatrix/math/math.h +1 -1
- data/ext/nmatrix/ruby_constants.cpp +0 -1
- data/ext/nmatrix/ruby_nmatrix.c +55 -32
- data/ext/nmatrix/storage/dense/dense.cpp +1 -0
- data/ext/nmatrix/storage/yale/yale.cpp +12 -14
- data/ext/nmatrix/ttable_helper.rb +0 -1
- data/lib/nmatrix.rb +5 -0
- data/lib/nmatrix/homogeneous.rb +98 -0
- data/lib/nmatrix/io/fortran_format.rb +135 -0
- data/lib/nmatrix/io/harwell_boeing.rb +220 -0
- data/lib/nmatrix/io/market.rb +18 -8
- data/lib/nmatrix/io/mat5_reader.rb +16 -111
- data/lib/nmatrix/io/mat_reader.rb +3 -5
- data/lib/nmatrix/io/point_cloud.rb +27 -28
- data/lib/nmatrix/lapack.rb +3 -1
- data/lib/nmatrix/math.rb +112 -43
- data/lib/nmatrix/monkeys.rb +67 -11
- data/lib/nmatrix/nmatrix.rb +56 -33
- data/lib/nmatrix/rspec.rb +2 -2
- data/lib/nmatrix/shortcuts.rb +42 -25
- data/lib/nmatrix/version.rb +4 -4
- data/nmatrix.gemspec +4 -3
- data/spec/03_nmatrix_monkeys_spec.rb +72 -0
- data/spec/blas_spec.rb +4 -0
- data/spec/homogeneous_spec.rb +12 -4
- data/spec/io/fortran_format_spec.rb +88 -0
- data/spec/io/harwell_boeing_spec.rb +98 -0
- data/spec/io/test.rua +9 -0
- data/spec/math_spec.rb +51 -9
- metadata +38 -9
data/spec/blas_spec.rb
CHANGED
@@ -151,6 +151,10 @@ describe NMatrix::BLAS do
|
|
151
151
|
expect(NMatrix::BLAS.asum(x)).to eq(10.0)
|
152
152
|
end
|
153
153
|
|
154
|
+
it "exposes asum for single element" do
|
155
|
+
x = NMatrix.new([1], [-1], dtype: :float64)
|
156
|
+
expect(x.asum).to eq(1.0)
|
157
|
+
end
|
154
158
|
|
155
159
|
it "exposes nrm2" do
|
156
160
|
x = NMatrix.new([4,1], [2,-4,3,5], dtype: :float64)
|
data/spec/homogeneous_spec.rb
CHANGED
@@ -31,7 +31,7 @@ require "./lib/nmatrix/homogeneous.rb"
|
|
31
31
|
require 'pry'
|
32
32
|
|
33
33
|
describe 'NMatrix' do
|
34
|
-
context "
|
34
|
+
context ".x_rotation" do
|
35
35
|
it "should generate a matrix representing a rotation about the x axis" do
|
36
36
|
x = NMatrix.x_rotation(Math::PI.quo(6))
|
37
37
|
expect(x).to be_within(1e-8).of(NMatrix.new([4,4], [1.0, 0.0, 0.0, 0.0,
|
@@ -42,7 +42,7 @@ describe 'NMatrix' do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
|
45
|
-
context "
|
45
|
+
context ".y_rotation" do
|
46
46
|
it "should generate a matrix representing a rotation about the y axis" do
|
47
47
|
y = NMatrix.y_rotation(Math::PI.quo(6))
|
48
48
|
expect(y).to be_within(1e-8).of(NMatrix.new([4,4], [Math.cos(Math::PI.quo(6)), 0.0, 0.5, 0.0,
|
@@ -52,7 +52,7 @@ describe 'NMatrix' do
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
context "
|
55
|
+
context ".z_rotation" do
|
56
56
|
it "should generate a matrix representing a rotation about the z axis" do
|
57
57
|
z = NMatrix.z_rotation(Math::PI.quo(6))
|
58
58
|
expect(z).to be_within(1e-8).of(NMatrix.new([4,4], [Math.cos(Math::PI.quo(6)), -0.5, 0.0, 0.0,
|
@@ -62,7 +62,7 @@ describe 'NMatrix' do
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
context "
|
65
|
+
context ".translation" do
|
66
66
|
it "should generate a translation matrix from an Array" do
|
67
67
|
t = NMatrix.translation([4,5,6])
|
68
68
|
expect(t).to be_within(1e-8).of(NMatrix.new([4,4], [1, 0, 0, 4,
|
@@ -88,4 +88,12 @@ describe 'NMatrix' do
|
|
88
88
|
expect(t.dtype).to be(:float64)
|
89
89
|
end
|
90
90
|
end
|
91
|
+
|
92
|
+
context "#quaternion" do
|
93
|
+
it "should generate a singularity-free quaternion" do
|
94
|
+
transform = NMatrix.new([4,4], [-0.9995825,-0.02527934,-0.0139845,50.61761,-0.02732551,0.9844284,0.1736463,-22.95566,0.009376526,0.1739562,-0.9847089,7.1521,0,0,0,1])
|
95
|
+
q = transform.quaternion
|
96
|
+
expect(Math.sqrt(q[0]**2 + q[1]**2 + q[2]**2 + q[3]**2)).to be_within(1e-6).of(1.0)
|
97
|
+
end
|
98
|
+
end
|
91
99
|
end
|
@@ -0,0 +1,88 @@
|
|
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 - 2014, Ruby Science Foundation
|
12
|
+
# NMatrix is Copyright (c) 2012 - 2014, John Woods and the 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
|
+
# == fortran_format_spec.rb
|
24
|
+
#
|
25
|
+
# Basic tests for NMatrix::IO::FortranFormat.
|
26
|
+
#
|
27
|
+
|
28
|
+
require './lib/nmatrix'
|
29
|
+
|
30
|
+
describe NMatrix::IO::FortranFormat do
|
31
|
+
it "parses integer FORTRAN formats" do
|
32
|
+
int_fmt = NMatrix::IO::FortranFormat::Reader.new('(16I5)').parse
|
33
|
+
|
34
|
+
expect(int_fmt[:format_code]).to eq "INT_ID"
|
35
|
+
expect(int_fmt[:repeat]) .to eq 16
|
36
|
+
expect(int_fmt[:field_width]).to eq 5
|
37
|
+
|
38
|
+
int_fmt = NMatrix::IO::FortranFormat::Reader.new('(I4)').parse
|
39
|
+
|
40
|
+
expect(int_fmt[:format_code]).to eq "INT_ID"
|
41
|
+
expect(int_fmt[:field_width]).to eq 4
|
42
|
+
end
|
43
|
+
|
44
|
+
it "parses floating point FORTRAN formats" do
|
45
|
+
fp_fmt = NMatrix::IO::FortranFormat::Reader.new('(10F7.1)').parse
|
46
|
+
|
47
|
+
expect(fp_fmt[:format_code]) .to eq "FP_ID"
|
48
|
+
expect(fp_fmt[:repeat]) .to eq 10
|
49
|
+
expect(fp_fmt[:field_width]) .to eq 7
|
50
|
+
expect(fp_fmt[:post_decimal_width]).to eq 1
|
51
|
+
|
52
|
+
fp_fmt = NMatrix::IO::FortranFormat::Reader.new('(F4.2)').parse
|
53
|
+
|
54
|
+
expect(fp_fmt[:format_code]) .to eq "FP_ID"
|
55
|
+
expect(fp_fmt[:field_width]) .to eq 4
|
56
|
+
expect(fp_fmt[:post_decimal_width]).to eq 2
|
57
|
+
end
|
58
|
+
|
59
|
+
it "parses exponential FORTRAN formats" do
|
60
|
+
exp_fmt = NMatrix::IO::FortranFormat::Reader.new('(2E8.3E3)').parse
|
61
|
+
|
62
|
+
expect(exp_fmt[:format_code]) .to eq "EXP_ID"
|
63
|
+
expect(exp_fmt[:repeat]) .to eq 2
|
64
|
+
expect(exp_fmt[:field_width]) .to eq 8
|
65
|
+
expect(exp_fmt[:post_decimal_width]).to eq 3
|
66
|
+
expect(exp_fmt[:exponent_width]) .to eq 3
|
67
|
+
|
68
|
+
exp_fmt = NMatrix::IO::FortranFormat::Reader.new('(3E3.6)').parse
|
69
|
+
|
70
|
+
expect(exp_fmt[:format_code]) .to eq "EXP_ID"
|
71
|
+
expect(exp_fmt[:repeat]) .to eq 3
|
72
|
+
expect(exp_fmt[:field_width]) .to eq 3
|
73
|
+
expect(exp_fmt[:post_decimal_width]).to eq 6
|
74
|
+
|
75
|
+
exp_fmt = NMatrix::IO::FortranFormat::Reader.new('(E4.5)').parse
|
76
|
+
expect(exp_fmt[:format_code]) .to eq "EXP_ID"
|
77
|
+
expect(exp_fmt[:field_width]) .to eq 4
|
78
|
+
expect(exp_fmt[:post_decimal_width]).to eq 5
|
79
|
+
end
|
80
|
+
|
81
|
+
['I3', '(F4)', '(E3.', '(E4.E5)'].each do |bad_format|
|
82
|
+
it "doesn't let bad input through : #{bad_format}" do
|
83
|
+
expect {
|
84
|
+
NMatrix::IO::FortranFormat::Reader.new(bad_format).parse
|
85
|
+
}.to raise_error(IOError)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,98 @@
|
|
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 - 2014, Ruby Science Foundation
|
12
|
+
# NMatrix is Copyright (c) 2012 - 2014, John Woods and the 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
|
+
# == io_spec.rb
|
24
|
+
#
|
25
|
+
# Basic tests for NMatrix::IO::HarwelBoeing.
|
26
|
+
|
27
|
+
# TODO : After the fortran format thing is done
|
28
|
+
require 'spec_helper'
|
29
|
+
require "./lib/nmatrix"
|
30
|
+
|
31
|
+
describe NMatrix::IO::HarwellBoeing do
|
32
|
+
def check_file_header header
|
33
|
+
expect(header[:title]) .to eq("Title")
|
34
|
+
expect(header[:key]) .to eq("Key")
|
35
|
+
|
36
|
+
expect(header[:totcrd]) .to eq(5)
|
37
|
+
expect(header[:ptrcrd]) .to eq(1)
|
38
|
+
expect(header[:indcrd]) .to eq(1)
|
39
|
+
expect(header[:valcrd]) .to eq(3)
|
40
|
+
expect(header[:rhscrd]) .to eq(0)
|
41
|
+
|
42
|
+
expect(header[:mxtype]) .to eq('RUA')
|
43
|
+
expect(header[:nrow]) .to eq(5)
|
44
|
+
expect(header[:ncol]) .to eq(5)
|
45
|
+
expect(header[:nnzero]) .to eq(13)
|
46
|
+
expect(header[:neltvl]) .to eq(0)
|
47
|
+
|
48
|
+
expect(header[:ptrfmt]) .to eq({
|
49
|
+
format_code: "INT_ID",
|
50
|
+
repeat: 6,
|
51
|
+
field_width: 3
|
52
|
+
})
|
53
|
+
expect(header[:indfmt]) .to eq({
|
54
|
+
format_code: "INT_ID",
|
55
|
+
repeat: 13,
|
56
|
+
field_width: 3
|
57
|
+
})
|
58
|
+
expect(header[:valfmt]) .to eq({
|
59
|
+
format_code: "EXP_ID",
|
60
|
+
repeat: 5,
|
61
|
+
field_width: 15,
|
62
|
+
post_decimal_width: 8
|
63
|
+
})
|
64
|
+
expect(header[:rhsfmt]) .to eq({
|
65
|
+
format_code: "EXP_ID",
|
66
|
+
repeat: 5,
|
67
|
+
field_width: 15,
|
68
|
+
post_decimal_width: 8
|
69
|
+
})
|
70
|
+
end
|
71
|
+
|
72
|
+
it "loads a Harwell Boeing file values and header (currently real only)" do
|
73
|
+
n, h = NMatrix::IO::HarwellBoeing.load("spec/io/test.rua")
|
74
|
+
|
75
|
+
expect(n.is_a? NMatrix).to eq(true)
|
76
|
+
expect(n.cols) .to eq(5)
|
77
|
+
expect(n.rows) .to eq(5)
|
78
|
+
|
79
|
+
expect(n[0,0]) .to eq(11)
|
80
|
+
expect(n[4,4]) .to eq(55)
|
81
|
+
|
82
|
+
expect(h.is_a? Hash).to eq(true)
|
83
|
+
check_file_header(h)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "loads only the header of the file when specified" do
|
87
|
+
h = NMatrix::IO::HarwellBoeing.load("spec/io/test.rua", header: true)
|
88
|
+
|
89
|
+
expect(h.is_a? Hash).to eq(true)
|
90
|
+
check_file_header(h)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "raises error for wrong Harwell Boeing file name" do
|
94
|
+
expect{
|
95
|
+
NMatrix::IO::HarwellBoeing.load("spec/io/wrong.afx")
|
96
|
+
}.to raise_error(IOError)
|
97
|
+
end
|
98
|
+
end
|
data/spec/io/test.rua
ADDED
data/spec/math_spec.rb
CHANGED
@@ -28,6 +28,9 @@
|
|
28
28
|
|
29
29
|
require 'spec_helper'
|
30
30
|
|
31
|
+
ALL_DTYPES = [:byte,:int8,:int16,:int32,:int64, :float32,:float64, :object,
|
32
|
+
:rational32,:rational64,:rational128, :complex64, :complex128]
|
33
|
+
|
31
34
|
describe "math" do
|
32
35
|
context "elementwise math functions" do
|
33
36
|
|
@@ -124,7 +127,7 @@ describe "math" do
|
|
124
127
|
context "Floor and ceil for #{stype}" do
|
125
128
|
|
126
129
|
[:floor, :ceil].each do |meth|
|
127
|
-
|
130
|
+
ALL_DTYPES.each do |dtype|
|
128
131
|
context dtype do
|
129
132
|
before :each do
|
130
133
|
@size = [2,2]
|
@@ -163,6 +166,30 @@ describe "math" do
|
|
163
166
|
end
|
164
167
|
end
|
165
168
|
end
|
169
|
+
|
170
|
+
context "#round for #{stype}" do
|
171
|
+
ALL_DTYPES.each do |dtype|
|
172
|
+
context dtype do
|
173
|
+
before :each do
|
174
|
+
@size = [2,2]
|
175
|
+
@mat = NMatrix.new @size, [1.33334, 0.9998, 1.9999, -8.9999],
|
176
|
+
dtype: dtype, stype: stype
|
177
|
+
@ans = @mat.to_a.flatten
|
178
|
+
end
|
179
|
+
|
180
|
+
it "rounds #{dtype} for #{stype}" do
|
181
|
+
expect(@mat.round).to eq(N.new(@size, @ans.map { |a| a.round},
|
182
|
+
dtype: dtype, stype: stype))
|
183
|
+
end unless(/complex/ =~ dtype)
|
184
|
+
|
185
|
+
it "rounds complex dtype #{dtype} for #{stype}" do
|
186
|
+
|
187
|
+
expect(@mat.round).to eq(N.new [2,2], @ans.map {|a|
|
188
|
+
Complex(a.real.round, a.imag.round)},dtype: dtype, stype: stype)
|
189
|
+
end if(/complex/ =~ dtype)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
166
193
|
|
167
194
|
end
|
168
195
|
end
|
@@ -184,9 +211,9 @@ describe "math" do
|
|
184
211
|
end
|
185
212
|
|
186
213
|
context dtype do
|
187
|
-
it "should correctly invert a matrix in place" do
|
188
|
-
a = NMatrix.new(:dense, 3, [1,0,4,
|
189
|
-
b = NMatrix.new(:dense, 3, [-5,
|
214
|
+
it "should correctly invert a matrix in place (bang)", :focus => true do
|
215
|
+
a = NMatrix.new(:dense, 3, [1,2,3,0,1,4,5,6,0], dtype)
|
216
|
+
b = NMatrix.new(:dense, 3, [-24,18,5,20,-15,-4,-5,4,1], dtype)
|
190
217
|
begin
|
191
218
|
a.invert!
|
192
219
|
rescue NotImplementedError => e
|
@@ -196,16 +223,31 @@ describe "math" do
|
|
196
223
|
pending e.to_s
|
197
224
|
end
|
198
225
|
end
|
199
|
-
expect(a).to eq(b)
|
226
|
+
expect(a.round).to eq(b)
|
200
227
|
end
|
201
228
|
|
202
229
|
unless NMatrix.has_clapack?
|
203
|
-
it "should correctly
|
204
|
-
a = NMatrix.new(:dense,
|
205
|
-
|
206
|
-
|
230
|
+
it "should correctly invert a matrix in place" do
|
231
|
+
a = NMatrix.new(:dense, 5, [1, 8,-9, 7, 5,
|
232
|
+
0, 1, 0, 4, 4,
|
233
|
+
0, 0, 1, 2, 5,
|
234
|
+
0, 0, 0, 1,-5,
|
235
|
+
0, 0, 0, 0, 1 ], dtype)
|
236
|
+
b = NMatrix.new(:dense, 5, [1,-8, 9, 7, 17,
|
237
|
+
0, 1, 0,-4,-24,
|
238
|
+
0, 0, 1,-2,-15,
|
239
|
+
0, 0, 0, 1, 5,
|
240
|
+
0, 0, 0, 0, 1,], dtype)
|
241
|
+
expect(a.invert).to eq(b)
|
207
242
|
end
|
208
243
|
end
|
244
|
+
|
245
|
+
it "should correctly invert a matrix out-of-place" do
|
246
|
+
a = NMatrix.new(:dense, 3, [1,2,3,0,1,4,5,6,0], dtype)
|
247
|
+
b = NMatrix.new(:dense, 3, [-24,18,5,20,-15,-4,-5,4,1], dtype)
|
248
|
+
|
249
|
+
expect(a.invert(3,3)).to eq(b)
|
250
|
+
end
|
209
251
|
end
|
210
252
|
end
|
211
253
|
|
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.1.0
|
4
|
+
version: 0.1.0
|
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: 2014-
|
13
|
+
date: 2014-12-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdoc
|
@@ -32,6 +32,26 @@ dependencies:
|
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: 4.0.1
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: packable
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.3'
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.3.5
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - "~>"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '1.3'
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.3.5
|
35
55
|
- !ruby/object:Gem::Dependency
|
36
56
|
name: rake
|
37
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,8 +136,8 @@ dependencies:
|
|
116
136
|
- - "~>"
|
117
137
|
- !ruby/object:Gem::Version
|
118
138
|
version: '0.8'
|
119
|
-
description: NMatrix is
|
120
|
-
|
139
|
+
description: NMatrix is a linear algebra library for Ruby, written mostly in C and
|
140
|
+
C++.
|
121
141
|
email:
|
122
142
|
- john.o.woods@gmail.com
|
123
143
|
executables: []
|
@@ -202,6 +222,8 @@ files:
|
|
202
222
|
- lib/nmatrix/blas.rb
|
203
223
|
- lib/nmatrix/enumerate.rb
|
204
224
|
- lib/nmatrix/homogeneous.rb
|
225
|
+
- lib/nmatrix/io/fortran_format.rb
|
226
|
+
- lib/nmatrix/io/harwell_boeing.rb
|
205
227
|
- lib/nmatrix/io/market.rb
|
206
228
|
- lib/nmatrix/io/mat5_reader.rb
|
207
229
|
- lib/nmatrix/io/mat_reader.rb
|
@@ -220,12 +242,16 @@ files:
|
|
220
242
|
- spec/00_nmatrix_spec.rb
|
221
243
|
- spec/01_enum_spec.rb
|
222
244
|
- spec/02_slice_spec.rb
|
245
|
+
- spec/03_nmatrix_monkeys_spec.rb
|
223
246
|
- spec/2x2_dense_double.mat
|
224
247
|
- spec/4x4_sparse.mat
|
225
248
|
- spec/4x5_dense.mat
|
226
249
|
- spec/blas_spec.rb
|
227
250
|
- spec/elementwise_spec.rb
|
228
251
|
- spec/homogeneous_spec.rb
|
252
|
+
- spec/io/fortran_format_spec.rb
|
253
|
+
- spec/io/harwell_boeing_spec.rb
|
254
|
+
- spec/io/test.rua
|
229
255
|
- spec/io_spec.rb
|
230
256
|
- spec/lapack_spec.rb
|
231
257
|
- spec/leakcheck.rb
|
@@ -242,7 +268,7 @@ files:
|
|
242
268
|
- spec/utm5940.mtx
|
243
269
|
homepage: http://sciruby.com
|
244
270
|
licenses:
|
245
|
-
- BSD
|
271
|
+
- BSD 3-clause
|
246
272
|
metadata: {}
|
247
273
|
post_install_message: |
|
248
274
|
***********************************************************
|
@@ -275,26 +301,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
275
301
|
version: '1.9'
|
276
302
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
303
|
requirements:
|
278
|
-
- - "
|
304
|
+
- - ">="
|
279
305
|
- !ruby/object:Gem::Version
|
280
|
-
version:
|
306
|
+
version: '0'
|
281
307
|
requirements: []
|
282
308
|
rubyforge_project:
|
283
309
|
rubygems_version: 2.2.0
|
284
310
|
signing_key:
|
285
311
|
specification_version: 4
|
286
|
-
summary: NMatrix is
|
287
|
-
in C.
|
312
|
+
summary: NMatrix is a linear algebra library for Ruby
|
288
313
|
test_files:
|
289
314
|
- spec/00_nmatrix_spec.rb
|
290
315
|
- spec/01_enum_spec.rb
|
291
316
|
- spec/02_slice_spec.rb
|
317
|
+
- spec/03_nmatrix_monkeys_spec.rb
|
292
318
|
- spec/2x2_dense_double.mat
|
293
319
|
- spec/4x4_sparse.mat
|
294
320
|
- spec/4x5_dense.mat
|
295
321
|
- spec/blas_spec.rb
|
296
322
|
- spec/elementwise_spec.rb
|
297
323
|
- spec/homogeneous_spec.rb
|
324
|
+
- spec/io/fortran_format_spec.rb
|
325
|
+
- spec/io/harwell_boeing_spec.rb
|
326
|
+
- spec/io/test.rua
|
298
327
|
- spec/io_spec.rb
|
299
328
|
- spec/lapack_spec.rb
|
300
329
|
- spec/leakcheck.rb
|