nmatrix 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +27 -0
- data/.rspec +2 -0
- data/Gemfile +3 -5
- data/Guardfile +6 -0
- data/History.txt +33 -0
- data/Manifest.txt +41 -38
- data/README.rdoc +88 -11
- data/Rakefile +35 -53
- data/ext/nmatrix/data/complex.h +372 -0
- data/ext/nmatrix/data/data.cpp +275 -0
- data/ext/nmatrix/data/data.h +707 -0
- data/ext/nmatrix/data/rational.h +421 -0
- data/ext/nmatrix/data/ruby_object.h +446 -0
- data/ext/nmatrix/extconf.rb +101 -51
- data/ext/nmatrix/new_extconf.rb +56 -0
- data/ext/nmatrix/nmatrix.cpp +1609 -0
- data/ext/nmatrix/nmatrix.h +265 -849
- data/ext/nmatrix/ruby_constants.cpp +134 -0
- data/ext/nmatrix/ruby_constants.h +103 -0
- data/ext/nmatrix/storage/common.cpp +70 -0
- data/ext/nmatrix/storage/common.h +170 -0
- data/ext/nmatrix/storage/dense.cpp +665 -0
- data/ext/nmatrix/storage/dense.h +116 -0
- data/ext/nmatrix/storage/list.cpp +1088 -0
- data/ext/nmatrix/storage/list.h +129 -0
- data/ext/nmatrix/storage/storage.cpp +658 -0
- data/ext/nmatrix/storage/storage.h +99 -0
- data/ext/nmatrix/storage/yale.cpp +1601 -0
- data/ext/nmatrix/storage/yale.h +208 -0
- data/ext/nmatrix/ttable_helper.rb +126 -0
- data/ext/nmatrix/{yale/smmp1_header.template.c → types.h} +36 -9
- data/ext/nmatrix/util/io.cpp +295 -0
- data/ext/nmatrix/util/io.h +117 -0
- data/ext/nmatrix/util/lapack.h +1175 -0
- data/ext/nmatrix/util/math.cpp +557 -0
- data/ext/nmatrix/util/math.h +1363 -0
- data/ext/nmatrix/util/sl_list.cpp +475 -0
- data/ext/nmatrix/util/sl_list.h +255 -0
- data/ext/nmatrix/util/util.h +78 -0
- data/lib/nmatrix/blas.rb +70 -0
- data/lib/nmatrix/io/mat5_reader.rb +567 -0
- data/lib/nmatrix/io/mat_reader.rb +162 -0
- data/lib/{string.rb → nmatrix/monkeys.rb} +49 -2
- data/lib/nmatrix/nmatrix.rb +199 -0
- data/lib/nmatrix/nvector.rb +103 -0
- data/lib/nmatrix/version.rb +27 -0
- data/lib/nmatrix.rb +22 -230
- data/nmatrix.gemspec +59 -0
- data/scripts/mac-brew-gcc.sh +47 -0
- data/spec/4x4_sparse.mat +0 -0
- data/spec/4x5_dense.mat +0 -0
- data/spec/blas_spec.rb +47 -0
- data/spec/elementwise_spec.rb +164 -0
- data/spec/io_spec.rb +60 -0
- data/spec/lapack_spec.rb +52 -0
- data/spec/math_spec.rb +96 -0
- data/spec/nmatrix_spec.rb +93 -89
- data/spec/nmatrix_yale_spec.rb +52 -36
- data/spec/nvector_spec.rb +1 -1
- data/spec/slice_spec.rb +257 -0
- data/spec/spec_helper.rb +51 -0
- data/spec/utm5940.mtx +83844 -0
- metadata +113 -71
- data/.autotest +0 -23
- data/.gemtest +0 -0
- data/ext/nmatrix/cblas.c +0 -150
- data/ext/nmatrix/dense/blas_header.template.c +0 -52
- data/ext/nmatrix/dense/elementwise.template.c +0 -107
- data/ext/nmatrix/dense/gemm.template.c +0 -159
- data/ext/nmatrix/dense/gemv.template.c +0 -130
- data/ext/nmatrix/dense/rationalmath.template.c +0 -68
- data/ext/nmatrix/dense.c +0 -307
- data/ext/nmatrix/depend +0 -18
- data/ext/nmatrix/generator/syntax_tree.rb +0 -481
- data/ext/nmatrix/generator.rb +0 -594
- data/ext/nmatrix/list.c +0 -774
- data/ext/nmatrix/nmatrix.c +0 -1977
- data/ext/nmatrix/rational.c +0 -98
- data/ext/nmatrix/yale/complexmath.template.c +0 -71
- data/ext/nmatrix/yale/elementwise.template.c +0 -46
- data/ext/nmatrix/yale/elementwise_op.template.c +0 -73
- data/ext/nmatrix/yale/numbmm.template.c +0 -94
- data/ext/nmatrix/yale/smmp1.template.c +0 -21
- data/ext/nmatrix/yale/smmp2.template.c +0 -43
- data/ext/nmatrix/yale/smmp2_header.template.c +0 -46
- data/ext/nmatrix/yale/sort_columns.template.c +0 -56
- data/ext/nmatrix/yale/symbmm.template.c +0 -54
- data/ext/nmatrix/yale/transp.template.c +0 -68
- data/ext/nmatrix/yale.c +0 -726
- data/lib/array.rb +0 -67
- data/spec/syntax_tree_spec.rb +0 -46
data/.gitignore
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
.idea
|
2
|
+
Gemfile.lock
|
3
|
+
ext/nmatrix/dense/daxpy.c
|
4
|
+
ext/nmatrix/dense/dgeco.c
|
5
|
+
ext/nmatrix/dense/dgefa.c
|
6
|
+
ext/nmatrix/dense/dgemm.c
|
7
|
+
ext/nmatrix/dense/dgemv.c
|
8
|
+
ext/nmatrix/dense/dscal.c
|
9
|
+
ext/nmatrix/dense/idamax.c
|
10
|
+
ext/nmatrix/dense/467.c
|
11
|
+
ext/nmatrix/dense/*.f
|
12
|
+
ext/nmatrix/dense/transpose.txt
|
13
|
+
ext/nmatrix/yale/aicm.tex
|
14
|
+
tmp/
|
15
|
+
test.c
|
16
|
+
spec/*.mtx
|
17
|
+
*.so
|
18
|
+
/tags
|
19
|
+
*.gem
|
20
|
+
|
21
|
+
ext/nmatrix/*.o
|
22
|
+
ext/nmatrix/*.so
|
23
|
+
ext/nmatrix/*.log
|
24
|
+
ext/nmatrix/**/*.o
|
25
|
+
ext/nmatrix/Makefile
|
26
|
+
ext/nmatrix/**/Makefile
|
27
|
+
ext/nmatrix/nmatrix_config.h
|
data/.rspec
ADDED
data/Gemfile
CHANGED
data/Guardfile
ADDED
data/History.txt
CHANGED
@@ -4,3 +4,36 @@
|
|
4
4
|
|
5
5
|
* Initial alpha release
|
6
6
|
|
7
|
+
=== 0.0.2 / 2012-09-21
|
8
|
+
|
9
|
+
* Numerous major enhancements
|
10
|
+
|
11
|
+
* Second alpha release
|
12
|
+
|
13
|
+
* Rewrote NMatrix in C++0x and C++11 using templates, namespaces; removed Ruby generators and CAST parser
|
14
|
+
|
15
|
+
* Added preliminary C API
|
16
|
+
|
17
|
+
* Slicing and referencing support for dense and list matrices
|
18
|
+
|
19
|
+
* BLAS level-3 xTRSM algorithm added for rationals and BLAS types
|
20
|
+
|
21
|
+
* LAPACK support added, including partially working xGETRF subroutine
|
22
|
+
|
23
|
+
* Element-wise comparisons now return byte-matrices
|
24
|
+
|
25
|
+
* Element-wise operations on list matrices may alter the default value of the return matrix
|
26
|
+
|
27
|
+
* Element-wise division behaves like Ruby division
|
28
|
+
|
29
|
+
* Improved MATLAB .MAT v5 file reading
|
30
|
+
|
31
|
+
* clang support
|
32
|
+
|
33
|
+
* `==` operator now used for matrix equality, `=~` and `!~` for element-wise comparisons
|
34
|
+
|
35
|
+
* Dense `each` returns an Enumerator when called without a block
|
36
|
+
|
37
|
+
* Sped up list storage item deletion, fixed bugs
|
38
|
+
|
39
|
+
* Note: Element-wise list operations current disabled
|
data/Manifest.txt
CHANGED
@@ -1,51 +1,54 @@
|
|
1
|
-
.autotest
|
2
1
|
History.txt
|
3
2
|
Manifest.txt
|
4
3
|
README.rdoc
|
5
4
|
LICENSE.txt
|
6
5
|
Rakefile
|
7
6
|
Gemfile
|
7
|
+
Guardfile
|
8
|
+
spec/io_spec.rb
|
9
|
+
spec/math_spec.rb
|
8
10
|
spec/nmatrix_spec.rb
|
9
11
|
spec/nmatrix_yale_spec.rb
|
10
12
|
spec/nvector_spec.rb
|
11
|
-
spec/
|
12
|
-
|
13
|
+
spec/slice_spec.rb
|
14
|
+
spec/elementwise_spec.rb
|
15
|
+
spec/blas_spec.rb
|
16
|
+
spec/lapack_spec.rb
|
17
|
+
spec/spec_helper.rb
|
13
18
|
lib/nmatrix.rb
|
14
|
-
lib/
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
ext/nmatrix/
|
19
|
+
lib/nmatrix/io/mat5_reader.rb
|
20
|
+
lib/nmatrix/io/mat_reader.rb
|
21
|
+
lib/nmatrix/blas.rb
|
22
|
+
lib/nmatrix/monkeys.rb
|
23
|
+
lib/nmatrix/nmatrix.rb
|
24
|
+
lib/nmatrix/nvector.rb
|
25
|
+
lib/nmatrix/version.rb
|
26
|
+
ext/nmatrix/data/complex.h
|
27
|
+
ext/nmatrix/data/data.cpp
|
28
|
+
ext/nmatrix/data/data.h
|
29
|
+
ext/nmatrix/data/rational.h
|
30
|
+
ext/nmatrix/data/ruby_object.h
|
31
|
+
ext/nmatrix/storage/common.cpp
|
32
|
+
ext/nmatrix/storage/common.h
|
33
|
+
ext/nmatrix/storage/dense.cpp
|
34
|
+
ext/nmatrix/storage/dense.h
|
35
|
+
ext/nmatrix/storage/list.cpp
|
36
|
+
ext/nmatrix/storage/list.h
|
37
|
+
ext/nmatrix/storage/storage.cpp
|
38
|
+
ext/nmatrix/storage/storage.h
|
39
|
+
ext/nmatrix/storage/yale.cpp
|
40
|
+
ext/nmatrix/storage/yale.h
|
41
|
+
ext/nmatrix/util/math.cpp
|
42
|
+
ext/nmatrix/util/math.h
|
43
|
+
ext/nmatrix/util/sl_list.cpp
|
44
|
+
ext/nmatrix/util/sl_list.h
|
45
|
+
ext/nmatrix/util/util.h
|
46
|
+
ext/nmatrix/util/lapack.h
|
47
|
+
ext/nmatrix/nmatrix.cpp
|
22
48
|
ext/nmatrix/nmatrix.h
|
23
|
-
ext/nmatrix/
|
24
|
-
ext/nmatrix/
|
25
|
-
ext/nmatrix/
|
26
|
-
ext/nmatrix/
|
27
|
-
ext/nmatrix/dense/elementwise.template.c
|
28
|
-
ext/nmatrix/dense/gemm.template.c
|
29
|
-
ext/nmatrix/dense/gemv.template.c
|
30
|
-
ext/nmatrix/dense/rationalmath.template.c
|
31
|
-
ext/nmatrix/yale/smmp1.template.c
|
32
|
-
ext/nmatrix/yale/smmp2.template.c
|
33
|
-
ext/nmatrix/yale/smmp1_header.template.c
|
34
|
-
ext/nmatrix/yale/smmp2_header.template.c
|
35
|
-
ext/nmatrix/yale/sort_columns.template.c
|
36
|
-
ext/nmatrix/yale/symbmm.template.c
|
37
|
-
ext/nmatrix/yale/numbmm.template.c
|
38
|
-
ext/nmatrix/yale/transp.template.c
|
39
|
-
ext/nmatrix/yale/complexmath.template.c
|
40
|
-
ext/nmatrix/yale/elementwise.template.c
|
41
|
-
ext/nmatrix/yale/elementwise_op.template.c
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
49
|
+
ext/nmatrix/ruby_constants.cpp
|
50
|
+
ext/nmatrix/ruby_constants.h
|
51
|
+
ext/nmatrix/types.h
|
52
|
+
ext/nmatrix/extconf.rb
|
50
53
|
|
51
54
|
|
data/README.rdoc
CHANGED
@@ -8,7 +8,8 @@ http://sciruby.com
|
|
8
8
|
|
9
9
|
== Description
|
10
10
|
|
11
|
-
NMatrix is an experimental linear algebra library for Ruby, written mostly in C
|
11
|
+
NMatrix is an experimental linear algebra library for Ruby, written mostly in C and C++. It can be used with or without
|
12
|
+
SciRuby, but is part of the SciRuby project.
|
12
13
|
|
13
14
|
NMatrix was inspired by and based heavily upon {NArray}[http://narray.rubyforge.org], by Masahiro Tanaka.
|
14
15
|
|
@@ -16,23 +17,90 @@ NMatrix was inspired by and based heavily upon {NArray}[http://narray.rubyforge.
|
|
16
17
|
|
17
18
|
=== WARNING:
|
18
19
|
|
19
|
-
Please be aware that SciRuby and NMatrix are
|
20
|
+
Please be aware that SciRuby and NMatrix are *ALPHA* status. If you're thinking of using SciRuby/NMatrix to write
|
21
|
+
mission-critical code, such as for driving a car or flying a space shuttle, you may wish to choose other software (for
|
22
|
+
now).
|
23
|
+
|
24
|
+
You should also be aware that NMatrix and NArray are incompatible with one another; you should not try to require both
|
25
|
+
at the same time. Unfortunately, that causes problems with Ruby/GSL, which currently depends upon NArray. As such, we
|
26
|
+
are working on a {patch for Ruby/GSL}[https://github.com/SciRuby/rb-gsl].
|
20
27
|
|
21
28
|
== Features
|
22
29
|
|
30
|
+
The following features exist in the version of NMatrix (0.0.2) currently under development, and may or may not exist in
|
31
|
+
0.0.1 (the current gem):
|
32
|
+
|
23
33
|
* Matrix storage containers: dense, yale, list (more to come)
|
24
|
-
* Data types: int8, int16, int32, int64, float32, float64, complex64, complex128, rational64, rational128
|
25
|
-
|
34
|
+
* Data types: uint8, int8, int16, int32, int64, float32, float64, complex64, complex128, rational64, rational128
|
35
|
+
(incomplete)
|
36
|
+
* Conversion between storage and data types (except from-complex, and from-float-to-rational)
|
37
|
+
* Element-wise operations and comparisons
|
38
|
+
* Matrix-matrix multiplication for dense (using ATLAS) and yale
|
39
|
+
* Matrix-vector multiplication for dense (using ATLAS)
|
40
|
+
* Dense and list matrix slicing and referencing
|
41
|
+
* Matlab .MAT v5 file input
|
42
|
+
* C and C++ API
|
43
|
+
* Level 3 BLAS internal implementations (no library) and ATLAS (with library) access:
|
44
|
+
* xGEMM
|
45
|
+
* xTRSM
|
46
|
+
* LAPACK ATLAS access:
|
47
|
+
* xGETRF (experimental)
|
48
|
+
|
49
|
+
=== Planned Features (Very Short Term)
|
50
|
+
|
51
|
+
These features will exist in our second alpha release, 0.0.2 (incomplete, thus not yet available as a gem):
|
52
|
+
|
53
|
+
* Yale matrix slicing and referencing
|
54
|
+
* LU decomposition
|
55
|
+
* LAPACK internal implementations (no library needed):
|
56
|
+
* xGETRF
|
57
|
+
|
58
|
+
The estimated release date for 0.0.2 is the end of August 2012.
|
59
|
+
|
60
|
+
=== Planned Features (Short-to-Medium Term)
|
61
|
+
|
62
|
+
These are features planned for NMatrix 0.1.0, our first beta.
|
63
|
+
|
64
|
+
* calculation of determinant, trace, and eigenvalues (characteristic polynomial) (0.1.0)
|
65
|
+
* Gaussian elimination
|
66
|
+
* exponentials and square roots
|
67
|
+
* matrix inversions
|
68
|
+
* matrix decomposition/factorization
|
69
|
+
* calculation of norms
|
70
|
+
* tensor products
|
71
|
+
* principal component analysis (PCA)
|
72
|
+
* improved file I/O
|
73
|
+
* operation scheduling
|
74
|
+
* parallelization of some types of operations
|
75
|
+
* optimization of non-BLAS data types on BLAS-like operations (e.g., matrix multiplication for rational numbers)
|
76
|
+
* Ruby/GSL interoperability
|
26
77
|
|
27
78
|
== SYNOPSIS:
|
28
79
|
|
29
|
-
|
80
|
+
For full instructions, please see sciruby.com/nmatrix. Generally, you should be able to do
|
81
|
+
|
82
|
+
gem install nmatrix
|
83
|
+
|
84
|
+
However, you will need to install ATLAS with CBLAS first. Those directions can be found at our website.
|
85
|
+
|
86
|
+
NOTE: The above command will not give you 0.0.2, which is not yet complete. To obtain 0.0.2, you should use the
|
87
|
+
following sequence of commands:
|
88
|
+
|
89
|
+
git clone https://github.com/SciRuby/nmatrix.git
|
90
|
+
cd nmatrix/
|
91
|
+
rake compile
|
92
|
+
rake repackage
|
93
|
+
gem install pkg/nmatrix-0.0.2.gem
|
30
94
|
|
31
|
-
|
32
|
-
cd nmatrix
|
33
|
-
rake console
|
95
|
+
If you get errors about clapack.h or cblas.h, figure out where your ATLAS headers are using:
|
34
96
|
|
35
|
-
|
97
|
+
locate clapack.h
|
98
|
+
|
99
|
+
Then, tell your system:
|
100
|
+
|
101
|
+
export C_INCLUDE_PATH=/usr/local/atlas/include
|
102
|
+
|
103
|
+
Finally, try compiling again.
|
36
104
|
|
37
105
|
== REQUIREMENTS:
|
38
106
|
|
@@ -48,7 +116,13 @@ More detailed installation instructions are available at {here}[http://sciruby.c
|
|
48
116
|
|
49
117
|
== DEVELOPERS:
|
50
118
|
|
51
|
-
|
119
|
+
Code in the master branch of SciRuby/nmatrix on github should compile and link, but is not necessarily stable. You might
|
120
|
+
also check out the dev branch if master hasn't been updated in some time.
|
121
|
+
|
122
|
+
git clone https://github.com/mohawkjohn/nmatrix.git
|
123
|
+
|
124
|
+
Before commiting any code, you *MUST* read our
|
125
|
+
{Contributor Agreement}[http://github.com/SciRuby/sciruby/wiki/Contributor-Agreement].
|
52
126
|
|
53
127
|
== LICENSE:
|
54
128
|
|
@@ -56,8 +130,11 @@ Copyright (c) 2012, The Ruby Science Foundation.
|
|
56
130
|
|
57
131
|
All rights reserved.
|
58
132
|
|
59
|
-
NMatrix, along with SciRuby, is licensed under the BSD 2-clause license. See
|
133
|
+
NMatrix, along with SciRuby, is licensed under the BSD 2-clause license. See
|
134
|
+
{LICENSE.txt}[https://github.com/SciRuby/sciruby/wiki/License] for details.
|
60
135
|
|
61
136
|
== DONATIONS:
|
62
137
|
|
138
|
+
Support a SciRuby Fellow:
|
139
|
+
|
63
140
|
{<img src=https://www.pledgie.com/campaigns/15783.png?skin_name=chrome>}[http://www.pledgie.com/campaigns/15783]
|
data/Rakefile
CHANGED
@@ -1,28 +1,40 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
4
12
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
13
|
+
require 'rake'
|
14
|
+
require "rake/extensiontask"
|
15
|
+
Rake::ExtensionTask.new do |ext|
|
16
|
+
ext.name = 'nmatrix'
|
17
|
+
ext.ext_dir = 'ext/nmatrix'
|
18
|
+
ext.lib_dir = 'lib/'
|
19
|
+
ext.source_pattern = "**/*.{c,cpp, h}"
|
10
20
|
end
|
11
|
-
require 'isolate/now'
|
12
|
-
# End Fix
|
13
21
|
|
14
|
-
|
15
|
-
|
16
|
-
require
|
22
|
+
gemspec = eval(IO.read("nmatrix.gemspec"))
|
23
|
+
|
24
|
+
require "rake/gempackagetask"
|
25
|
+
Rake::GemPackageTask.new(gemspec).define
|
26
|
+
|
27
|
+
desc "install the gem locally"
|
28
|
+
task :install => [:package] do
|
29
|
+
sh %{gem install pkg/nmatrix-#{NMatrix::VERSION}}
|
30
|
+
end
|
17
31
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
# Hoe.plugin :racc
|
25
|
-
# Hoe.plugin :rubyforge
|
32
|
+
require 'rspec/core/rake_task'
|
33
|
+
require 'rspec/core'
|
34
|
+
require 'rspec/core/rake_task'
|
35
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
36
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
37
|
+
end
|
26
38
|
|
27
39
|
BASEDIR = Pathname( __FILE__ ).dirname.relative_path_from( Pathname.pwd )
|
28
40
|
SPECDIR = BASEDIR + 'spec'
|
@@ -42,41 +54,6 @@ VALGRIND_MEMORYFILL_OPTIONS = [
|
|
42
54
|
GDB_OPTIONS = []
|
43
55
|
|
44
56
|
|
45
|
-
h = Hoe.spec 'nmatrix' do
|
46
|
-
self.require_ruby_version ">=1.9"
|
47
|
-
self.developer('John Woods', 'john.o.woods@gmail.com')
|
48
|
-
self.post_install_message = <<-EOF
|
49
|
-
***********************************************************
|
50
|
-
Welcome to SciRuby: Tools for Scientific Computing in Ruby!
|
51
|
-
|
52
|
-
*** WARNING ***
|
53
|
-
Please be aware that NMatrix is in ALPHA status. If you're
|
54
|
-
thinking of using NMatrix to write mission critical code,
|
55
|
-
such as for driving a car or flying a space shuttle, you
|
56
|
-
may wish to choose other software (for now).
|
57
|
-
|
58
|
-
NMatrix requires a C compiler, and has been tested only
|
59
|
-
with GCC 4.6.1. We are happy to accept contributions
|
60
|
-
which improve the portability of this project.
|
61
|
-
|
62
|
-
Also required is ATLAS. Most Linux distributions and Mac
|
63
|
-
versions include ATLAS, but you may wish to compile it
|
64
|
-
yourself.
|
65
|
-
|
66
|
-
More explicit instructions for NMatrix and SciRuby should
|
67
|
-
be available on the SciRuby website, sciruby.com, or
|
68
|
-
through our mailing list (which can be found on our web-
|
69
|
-
site).
|
70
|
-
|
71
|
-
Thanks for trying out NMatrix! Happy coding!
|
72
|
-
|
73
|
-
***********************************************************
|
74
|
-
EOF
|
75
|
-
#self.need_rdoc = false
|
76
|
-
self.readme_file = 'README.rdoc'
|
77
|
-
# self.rubyforge_name = 'nmatrixx' # if different than 'nmatrix'
|
78
|
-
end
|
79
|
-
|
80
57
|
RSpec::Core::RakeTask.new(:spec)
|
81
58
|
|
82
59
|
task :console do |task|
|
@@ -84,6 +61,11 @@ task :console do |task|
|
|
84
61
|
run *cmd
|
85
62
|
end
|
86
63
|
|
64
|
+
task :pry do |task|
|
65
|
+
cmd = [ 'pry', "-r './lib/nmatrix.rb'" ]
|
66
|
+
run *cmd
|
67
|
+
end
|
68
|
+
|
87
69
|
#namespace :console do
|
88
70
|
# CONSOLE_CMD = ['irb', "-r './lib/nmatrix.rb'"]
|
89
71
|
# desc "Run console under GDB."
|