nmatrix 0.0.8 → 0.0.9
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/.gitignore +3 -8
- data/.rspec +1 -1
- data/.travis.yml +12 -0
- data/CONTRIBUTING.md +27 -12
- data/Gemfile +1 -0
- data/History.txt +38 -0
- data/Manifest.txt +15 -15
- data/README.rdoc +7 -6
- data/Rakefile +40 -5
- data/ext/nmatrix/data/data.cpp +2 -37
- data/ext/nmatrix/data/data.h +19 -121
- data/ext/nmatrix/data/meta.h +70 -0
- data/ext/nmatrix/extconf.rb +40 -12
- data/ext/nmatrix/math/math.h +13 -103
- data/ext/nmatrix/nmatrix.cpp +10 -2018
- data/ext/nmatrix/nmatrix.h +16 -13
- data/ext/nmatrix/ruby_constants.cpp +12 -1
- data/ext/nmatrix/ruby_constants.h +7 -1
- data/ext/nmatrix/ruby_nmatrix.c +2169 -0
- data/ext/nmatrix/storage/dense.cpp +123 -14
- data/ext/nmatrix/storage/dense.h +10 -4
- data/ext/nmatrix/storage/list.cpp +265 -48
- data/ext/nmatrix/storage/list.h +6 -9
- data/ext/nmatrix/storage/storage.cpp +44 -54
- data/ext/nmatrix/storage/storage.h +2 -2
- data/ext/nmatrix/storage/yale/class.h +1070 -0
- data/ext/nmatrix/storage/yale/iterators/base.h +142 -0
- data/ext/nmatrix/storage/yale/iterators/iterator.h +130 -0
- data/ext/nmatrix/storage/yale/iterators/row.h +449 -0
- data/ext/nmatrix/storage/yale/iterators/row_stored.h +139 -0
- data/ext/nmatrix/storage/yale/iterators/row_stored_nd.h +167 -0
- data/ext/nmatrix/storage/yale/iterators/stored_diagonal.h +123 -0
- data/ext/nmatrix/storage/yale/math/transpose.h +110 -0
- data/ext/nmatrix/storage/yale/yale.cpp +1785 -0
- data/ext/nmatrix/storage/{yale.h → yale/yale.h} +23 -55
- data/ext/nmatrix/types.h +2 -0
- data/ext/nmatrix/util/io.cpp +27 -45
- data/ext/nmatrix/util/io.h +0 -2
- data/ext/nmatrix/util/sl_list.cpp +169 -28
- data/ext/nmatrix/util/sl_list.h +9 -3
- data/lib/nmatrix/blas.rb +20 -20
- data/lib/nmatrix/enumerate.rb +1 -1
- data/lib/nmatrix/io/mat5_reader.rb +8 -14
- data/lib/nmatrix/lapack.rb +3 -3
- data/lib/nmatrix/math.rb +3 -3
- data/lib/nmatrix/nmatrix.rb +19 -5
- data/lib/nmatrix/nvector.rb +2 -0
- data/lib/nmatrix/shortcuts.rb +90 -125
- data/lib/nmatrix/version.rb +1 -1
- data/nmatrix.gemspec +7 -8
- data/spec/{nmatrix_spec.rb → 00_nmatrix_spec.rb} +45 -208
- data/spec/01_enum_spec.rb +184 -0
- data/spec/{slice_spec.rb → 02_slice_spec.rb} +55 -39
- data/spec/blas_spec.rb +22 -54
- data/spec/elementwise_spec.rb +9 -8
- data/spec/io_spec.rb +6 -4
- data/spec/lapack_spec.rb +26 -26
- data/spec/math_spec.rb +9 -5
- data/spec/nmatrix_yale_spec.rb +29 -61
- data/spec/shortcuts_spec.rb +34 -22
- data/spec/slice_set_spec.rb +157 -0
- data/spec/spec_helper.rb +42 -2
- data/spec/stat_spec.rb +192 -0
- metadata +52 -55
- data/ext/nmatrix/storage/yale.cpp +0 -2284
- data/spec/nmatrix_list_spec.rb +0 -113
- data/spec/nvector_spec.rb +0 -112
data/spec/spec_helper.rb
CHANGED
@@ -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 =
|
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
|
|
data/spec/stat_spec.rb
ADDED
@@ -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.
|
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-
|
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
|
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
|
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:
|
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:
|
70
|
+
version: '0'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
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:
|
86
|
+
name: pry
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - '>='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 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
|
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.
|
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/
|
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
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
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
|
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/
|
286
|
+
- spec/slice_set_spec.rb
|
291
287
|
- spec/spec_helper.rb
|
288
|
+
- spec/stat_spec.rb
|
292
289
|
- spec/utm5940.mtx
|