carray 1.3.7 → 1.4.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/README.md +0 -7
- data/Rakefile +31 -0
- data/carray.gemspec +9 -14
- data/carray.h +4 -0
- data/carray_access.c +50 -8
- data/carray_conversion.c +3 -3
- data/carray_generate.c +67 -1
- data/carray_math.rb +22 -22
- data/carray_operator.c +23 -0
- data/devel/im2col.rb +17 -0
- data/lib/carray.rb +32 -1
- data/lib/carray/autoload/autoload_base.rb +0 -4
- data/lib/carray/autoload/autoload_gem_cairo.rb +9 -0
- data/lib/carray/autoload/autoload_gem_ffi.rb +9 -0
- data/lib/carray/autoload/autoload_gem_gnuplot.rb +2 -0
- data/lib/carray/autoload/autoload_gem_io_csv.rb +14 -0
- data/lib/carray/autoload/autoload_gem_io_pg.rb +6 -0
- data/lib/carray/autoload/autoload_gem_io_sqlite3.rb +12 -0
- data/lib/carray/autoload/autoload_gem_narray.rb +10 -0
- data/lib/carray/autoload/autoload_gem_numo_narray.rb +14 -0
- data/lib/carray/autoload/autoload_gem_opencv.rb +16 -0
- data/lib/carray/autoload/autoload_gem_rmagick.rb +23 -0
- data/lib/carray/autoload/{autoload_graphics_zimg.rb → autoload_gem_zimg.rb} +0 -0
- data/lib/carray/base/autoload.rb +47 -5
- data/lib/carray/base/basic.rb +58 -2
- data/lib/carray/base/math.rb +1 -1
- data/lib/carray/base/string.rb +242 -0
- data/mkmath.rb +12 -2
- data/version.h +5 -5
- metadata +29 -109
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -33
- data/ext/calculus/lib/autoload/autoload_math_calculus.rb +0 -2
- data/ext/fortio/extconf.rb +0 -3
- data/ext/fortio/lib/carray/autoload/autoload_fortran_format.rb +0 -5
- data/ext/fortio/lib/carray/io/fortran_format.rb +0 -43
- data/ext/fortio/lib/fortio.rb +0 -3
- data/ext/fortio/lib/fortio/fortran_format.rb +0 -605
- data/ext/fortio/lib/fortio/fortran_format.tab.rb +0 -536
- data/ext/fortio/lib/fortio/fortran_format.y +0 -215
- data/ext/fortio/lib/fortio/fortran_namelist.rb +0 -151
- data/ext/fortio/lib/fortio/fortran_namelist.tab.rb +0 -470
- data/ext/fortio/lib/fortio/fortran_namelist.y +0 -213
- data/ext/fortio/lib/fortio/fortran_sequential.rb +0 -345
- data/ext/fortio/ruby_fortio.c +0 -182
- data/ext/fortio/test/test_H.rb +0 -5
- data/ext/fortio/test/test_T.rb +0 -7
- data/ext/fortio/test/test_fortran_format.rb +0 -86
- data/ext/fortio/test/test_namelist.rb +0 -25
- data/ext/fortio/test/test_namelist_write.rb +0 -10
- data/ext/fortio/test/test_sequential.rb +0 -13
- data/ext/fortio/test/test_sequential2.rb +0 -13
- data/ext/fortio/work/test.rb +0 -10
- data/ext/fortio/work/test_e.rb +0 -19
- data/ext/fortio/work/test_ep.rb +0 -10
- data/ext/fortio/work/test_parse.rb +0 -12
- data/ext/mathfunc/lib/autoload/autoload_math_mathfunc.rb +0 -1
- data/ext/mathfunc/lib/math/mathfunc.rb +0 -15
- data/ext/narray/README +0 -22
- data/ext/narray/ca_wrap_narray.c +0 -500
- data/ext/narray/carray_narray.c +0 -21
- data/ext/narray/extconf.rb +0 -57
- data/ext/narray/lib/autoload/autoload_math_narray.rb +0 -1
- data/ext/narray/lib/autoload/autoload_math_narray_miss.rb +0 -11
- data/ext/narray/lib/math/narray.rb +0 -17
- data/ext/narray/lib/math/narray_miss.rb +0 -45
- data/lib/carray/autoload/autoload_graphics_gnuplot.rb +0 -2
- data/lib/carray/autoload/autoload_io_csv.rb +0 -14
- data/lib/carray/autoload/autoload_io_numo.rb +0 -9
- data/lib/carray/autoload/autoload_io_pg.rb +0 -6
- data/lib/carray/autoload/autoload_io_sqlite3.rb +0 -12
- data/lib/carray/graphics/gnuplot.rb +0 -2141
- data/lib/carray/graphics/zimg.rb +0 -296
- data/lib/carray/io/csv.rb +0 -572
- data/lib/carray/io/numo.rb +0 -52
- data/lib/carray/io/pg.rb +0 -101
- data/lib/carray/io/sqlite3.rb +0 -215
data/ext/fortio/ruby_fortio.c
DELETED
@@ -1,182 +0,0 @@
|
|
1
|
-
/* ---------------------------------------------------------------------------
|
2
|
-
|
3
|
-
carray/carray_fortio.c
|
4
|
-
|
5
|
-
This file is part of Ruby/CArray extension library.
|
6
|
-
You can redistribute it and/or modify it under the terms of
|
7
|
-
the Ruby Licence.
|
8
|
-
|
9
|
-
Copyright (C) 2005 Hiroki Motoyoshi
|
10
|
-
|
11
|
-
---------------------------------------------------------------------------- */
|
12
|
-
|
13
|
-
#include "ruby.h"
|
14
|
-
#include <math.h>
|
15
|
-
|
16
|
-
static int
|
17
|
-
read_F (char *buf, int buflen, int scale, int length, int prec, double *a)
|
18
|
-
{
|
19
|
-
char fmt[128];
|
20
|
-
int status;
|
21
|
-
if ( ! strchr(buf, '.') ) {
|
22
|
-
int tmp = 0;
|
23
|
-
snprintf(fmt, 128, "%%%i", length);
|
24
|
-
status = sscanf(buf, fmt, &tmp);
|
25
|
-
*a = tmp * pow(10, -prec);
|
26
|
-
}
|
27
|
-
else {
|
28
|
-
snprintf(fmt, 128, "%%%i.%if", length, prec);
|
29
|
-
status = sscanf(buf, fmt, a);
|
30
|
-
}
|
31
|
-
return status;
|
32
|
-
}
|
33
|
-
|
34
|
-
static VALUE
|
35
|
-
rb_ff_read_F (VALUE mod, VALUE vbuffer, VALUE vscale, VALUE vlength, VALUE vprec)
|
36
|
-
{
|
37
|
-
double val;
|
38
|
-
int status;
|
39
|
-
status = read_F(StringValuePtr(vbuffer), (int) RSTRING_LEN(vbuffer),
|
40
|
-
NUM2INT(vscale), NUM2INT(vlength), NUM2INT(vprec), &val);
|
41
|
-
if ( ! status ) {
|
42
|
-
rb_raise(rb_eRuntimeError, "invalid string for F descriptor");
|
43
|
-
}
|
44
|
-
return rb_float_new(val);
|
45
|
-
}
|
46
|
-
|
47
|
-
static int
|
48
|
-
write_F (char *buf, int buflen, int plus, int scale, int length, int prec, double a)
|
49
|
-
{
|
50
|
-
char fmt[128];
|
51
|
-
if ( plus ) {
|
52
|
-
snprintf(fmt, 128, "%%+%i.%if", length, prec);
|
53
|
-
}
|
54
|
-
else {
|
55
|
-
snprintf(fmt, 128, "%%%i.%if", length, prec);
|
56
|
-
}
|
57
|
-
if ( scale == 0 ) {
|
58
|
-
return snprintf(buf, buflen, fmt, a);
|
59
|
-
}
|
60
|
-
else {
|
61
|
-
return snprintf(buf, buflen, fmt, a * pow(10, scale));
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
static VALUE
|
66
|
-
rb_ff_write_F (VALUE mod, VALUE vsign, VALUE vscale, VALUE vlength, VALUE vprec, VALUE va)
|
67
|
-
{
|
68
|
-
int length = NUM2INT(vlength);
|
69
|
-
char buf[256];
|
70
|
-
if ( length > 255 ) {
|
71
|
-
rb_raise(rb_eRuntimeError, "too long decimal format for FortranFormat");
|
72
|
-
}
|
73
|
-
write_F(buf, 255,
|
74
|
-
RTEST(vsign), NUM2INT(vscale), length, NUM2INT(vprec), NUM2DBL(va));
|
75
|
-
return rb_str_new2(buf);
|
76
|
-
}
|
77
|
-
|
78
|
-
|
79
|
-
static int
|
80
|
-
write_E (char *buf, int buflen, int plus, int scale, int length, int prec, int iexp, double a)
|
81
|
-
{
|
82
|
-
char fmt[128];
|
83
|
-
int prec0;
|
84
|
-
int e, sign = 1;
|
85
|
-
prec0 = ( 1 - scale < 0 ) ? prec - scale + 1 : prec;
|
86
|
-
sign = 1;
|
87
|
-
if ( a < 0 ) {
|
88
|
-
e = floor(log10(-a))+1;
|
89
|
-
sign = -1;
|
90
|
-
}
|
91
|
-
if ( a > 0 ) {
|
92
|
-
e = floor(log10(a))+1;
|
93
|
-
}
|
94
|
-
else {
|
95
|
-
e = 0;
|
96
|
-
}
|
97
|
-
if ( prec0 == 0 ) {
|
98
|
-
if ( plus ) {
|
99
|
-
snprintf(fmt, 128, "%%+%i.0f.E%%+0%ii", length-iexp-3, iexp+1);
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
snprintf(fmt, 128, "%%%i.0f.E%%+0%ii", length-iexp-3, iexp+1);
|
103
|
-
}
|
104
|
-
}
|
105
|
-
else {
|
106
|
-
if ( plus ) {
|
107
|
-
snprintf(fmt, 128, "%%+%i.%ifE%%+0%ii", length-iexp-2, prec0, iexp+1);
|
108
|
-
}
|
109
|
-
else {
|
110
|
-
snprintf(fmt, 128, "%%%i.%ifE%%+0%ii", length-iexp-2, prec0, iexp+1);
|
111
|
-
}
|
112
|
-
}
|
113
|
-
return snprintf(buf, buflen, fmt, sign * a * pow(10,scale-e), e-scale);
|
114
|
-
}
|
115
|
-
|
116
|
-
static VALUE
|
117
|
-
rb_ff_write_E (VALUE mod, VALUE vsign, VALUE vscale, VALUE vlength, VALUE vprec, VALUE vexp, VALUE va)
|
118
|
-
{
|
119
|
-
int length = NUM2INT(vlength);
|
120
|
-
int iexp = NIL_P(vexp) ? 2 : NUM2INT(vexp);
|
121
|
-
char buf[256];
|
122
|
-
if ( length > 255 ) {
|
123
|
-
rb_raise(rb_eRuntimeError, "too long decimal format for FortranFormat");
|
124
|
-
}
|
125
|
-
write_E(buf, 255,
|
126
|
-
RTEST(vsign), NUM2INT(vscale), length, NUM2INT(vprec), iexp, NUM2DBL(va));
|
127
|
-
return rb_str_new2(buf);
|
128
|
-
}
|
129
|
-
|
130
|
-
static int
|
131
|
-
write_GF (char *buf, int buflen, int plus, int length, int prec, int iexp, double a)
|
132
|
-
{
|
133
|
-
int e;
|
134
|
-
if ( a < 0 ) {
|
135
|
-
e = floor(log10(-a))+1;
|
136
|
-
}
|
137
|
-
if ( a > 0 ) {
|
138
|
-
e = floor(log10(a))+1;
|
139
|
-
}
|
140
|
-
else {
|
141
|
-
e = 0;
|
142
|
-
}
|
143
|
-
write_E(buf, 255, plus, e, length, prec-1, iexp, a);
|
144
|
-
memset(buf+(length-iexp-2), ' ', iexp+2);
|
145
|
-
return 1;
|
146
|
-
}
|
147
|
-
|
148
|
-
static VALUE
|
149
|
-
rb_ff_write_G (VALUE mod, VALUE vsign, VALUE vscale, VALUE vlength, VALUE vprec, VALUE vexp, VALUE va)
|
150
|
-
{
|
151
|
-
int length = NUM2INT(vlength);
|
152
|
-
int iprec = NUM2INT(vprec);
|
153
|
-
int iexp = NIL_P(vexp) ? 2 : NUM2INT(vexp);
|
154
|
-
double val = NUM2DBL(va);
|
155
|
-
char buf[256];
|
156
|
-
if ( length > 255 ) {
|
157
|
-
rb_raise(rb_eRuntimeError, "too long decimal format for FortranFormat");
|
158
|
-
}
|
159
|
-
if ( ( fabs(val) <= 0.1 ) ||
|
160
|
-
( fabs(val) >= pow(10, iprec) ) ) {
|
161
|
-
write_E(buf, 255,
|
162
|
-
RTEST(vsign), NUM2INT(vscale), length, iprec, iexp, val);
|
163
|
-
}
|
164
|
-
else {
|
165
|
-
write_GF(buf, 255, RTEST(vsign), length, iprec, iexp, val);
|
166
|
-
}
|
167
|
-
return rb_str_new2(buf);
|
168
|
-
}
|
169
|
-
|
170
|
-
void
|
171
|
-
Init_fortio_ext ()
|
172
|
-
{
|
173
|
-
VALUE rb_cFF = rb_define_class("FortranFormat", rb_cObject);
|
174
|
-
rb_define_singleton_method(rb_cFF, "read_F", rb_ff_read_F, 4);
|
175
|
-
rb_define_singleton_method(rb_cFF, "write_F", rb_ff_write_F, 5);
|
176
|
-
rb_define_singleton_method(rb_cFF, "write_E", rb_ff_write_E, 6);
|
177
|
-
rb_define_singleton_method(rb_cFF, "write_G", rb_ff_write_G, 6);
|
178
|
-
}
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
data/ext/fortio/test/test_H.rb
DELETED
data/ext/fortio/test/test_T.rb
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
require 'fortio'
|
2
|
-
|
3
|
-
include Math
|
4
|
-
|
5
|
-
#F77 = "ifort"
|
6
|
-
F77 = "gfortran"
|
7
|
-
#F77 = "g95"
|
8
|
-
#F77 = "g77"
|
9
|
-
|
10
|
-
def f77_compile_and_run (source)
|
11
|
-
output = nil
|
12
|
-
begin
|
13
|
-
open("test.f", "w") { |io|
|
14
|
-
io.write(source)
|
15
|
-
}
|
16
|
-
system("#{F77} test.f")
|
17
|
-
output = `./a.out`.chomp
|
18
|
-
ensure
|
19
|
-
File.unlink("test.f")
|
20
|
-
File.unlink("a.out")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
[
|
25
|
-
["F12.3", 10.0, nil],
|
26
|
-
["2F12.3", [10.0,11.0], nil],
|
27
|
-
["E12.2", 10.0, nil],
|
28
|
-
["2E12.2", [10.0,11.0], nil],
|
29
|
-
["2PE12.2", 10.0, nil],
|
30
|
-
["2P2E12.2", [10.0,11.0], nil],
|
31
|
-
["2G12.2", [10.0,11.0], nil],
|
32
|
-
["2PG12.2", 10.0, nil],
|
33
|
-
["2PG12.2E3",10.0, nil],
|
34
|
-
["2PG12.2", 1234567890.0, nil],
|
35
|
-
["2PG12.2E3",1234567890.0, nil],
|
36
|
-
# ---
|
37
|
-
["F15.8", PI, "#{PI}D0"],
|
38
|
-
["E15.8", PI, "#{PI}D0"],
|
39
|
-
["2PE15.8", PI, "#{PI}D0"],
|
40
|
-
# ---
|
41
|
-
["F10.8", PI, "#{PI}D0"],
|
42
|
-
["E10.8", PI, "#{PI}D0"],
|
43
|
-
["2PE10.8", PI, "#{PI}D0"],
|
44
|
-
# ---
|
45
|
-
["I4.3", 123456, nil],
|
46
|
-
["I6.5", 123, nil],
|
47
|
-
["I6.5", 123, nil],
|
48
|
-
["I7.6", 123456, nil],
|
49
|
-
["I6", 123456, nil],
|
50
|
-
# ---
|
51
|
-
["SPI6", 123456, nil],
|
52
|
-
["SPI7", 123456, nil],
|
53
|
-
["SPF12.4", 123456.0, nil],
|
54
|
-
["SPE12.4E3", 123456.0, nil],
|
55
|
-
["SPG12.4E3", 123456.0, nil],
|
56
|
-
["SPG12.4E3", 123.0, nil],
|
57
|
-
["TR2SPSG12.4E3", 123.0, nil],
|
58
|
-
# ---
|
59
|
-
["L1", true, ".TRUE."],
|
60
|
-
["L1", false, ".FALSE."],
|
61
|
-
["L2", true, ".TRUE."],
|
62
|
-
["L2", false, ".FALSE."],
|
63
|
-
["L4", true, ".TRUE."],
|
64
|
-
["L4", false, ".FALSE."],
|
65
|
-
# ---
|
66
|
-
["A1", "a", "'a'"],
|
67
|
-
["A2", "ab", "'ab'"],
|
68
|
-
["5Hhello", nil, nil],
|
69
|
-
# ---
|
70
|
-
["/", "\n", ""],
|
71
|
-
["2/", "\n\n", ""],
|
72
|
-
].each do |fmt, rval, fval|
|
73
|
-
fort_out = f77_compile_and_run %{
|
74
|
-
write(6, '(#{fmt})') #{[fval||rval||[]].flatten.join(',')}
|
75
|
-
end
|
76
|
-
}
|
77
|
-
ruby_out = fortran_format(fmt+"$", *rval)
|
78
|
-
puts "-------------------------------------------------------------"
|
79
|
-
printf("format : %s\n", fmt)
|
80
|
-
printf("fortran input : %s\n", [fval||rval].flatten.join(','))
|
81
|
-
printf("ruby input : %s\n", [rval].flatten.join(","))
|
82
|
-
printf("fortran output : %s\n", fort_out.inspect)
|
83
|
-
printf("ruby output : %s\n", ruby_out.inspect)
|
84
|
-
printf("comparison : %s\n", fort_out == ruby_out)
|
85
|
-
end
|
86
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require "fortio"
|
2
|
-
require "pp"
|
3
|
-
|
4
|
-
text =<<END
|
5
|
-
aaaa bbbb cccc
|
6
|
-
dddd eeee ffff
|
7
|
-
&name
|
8
|
-
c=30.d0,
|
9
|
-
a=10.d0,
|
10
|
-
b=20.d0,
|
11
|
-
d(1:3) = 1,2,3
|
12
|
-
&end
|
13
|
-
&foo
|
14
|
-
c=10.d+32,
|
15
|
-
a=50.d0,
|
16
|
-
b=90.d0,
|
17
|
-
d(1:5) = 3*4,,3
|
18
|
-
e="hello""world!"
|
19
|
-
&end
|
20
|
-
END
|
21
|
-
|
22
|
-
pp nml = fortran_namelist_read(text, "name", {:d=>CArray.int(3)})
|
23
|
-
pp nml = fortran_namelist_read(text, "foo", {:d=>CArray.int(5)})
|
24
|
-
|
25
|
-
puts fortran_namelist("bar", nml)
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require "fortio"
|
2
|
-
|
3
|
-
fs = FortranSequential.open("test.dat", "w", :endian=>"big")
|
4
|
-
rec = fs.record
|
5
|
-
rec.write("d4l", [1.2, 2008, 6, 21, 9])
|
6
|
-
fs.close
|
7
|
-
|
8
|
-
fs = FortranSequential.open("test.dat", "r", :endian=>"big")
|
9
|
-
rec = fs.record
|
10
|
-
p rec.read("d4l")
|
11
|
-
fs.close
|
12
|
-
|
13
|
-
File.unlink("test.dat")
|
data/ext/fortio/work/test.rb
DELETED
data/ext/fortio/work/test_e.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require "fortio"
|
2
|
-
|
3
|
-
p f = FortranFormat("4(2P,3E6.2E4,2I2.1)$")
|
4
|
-
p f.count_args
|
5
|
-
p fortran_format("2P,E10.2E4,$", 0.000012345)
|
6
|
-
p f = FortranFormat("2(E10.2E4,',')")
|
7
|
-
p fortran_format("2(E10.2E4,',')", 0.000012345, 2.0)
|
8
|
-
p f = FortranFormat('2(-2PG15.5 4X2(I2)/)')
|
9
|
-
puts fortran_format(f, 3.1415926,2,4, 2.71828,3,5)
|
10
|
-
|
11
|
-
p f = FortranFormat('3P,4(G15.5/)')
|
12
|
-
p f.count_args
|
13
|
-
puts fortran_format(f, 0.1, 0.11, 10**5-1, 10**5)
|
14
|
-
|
15
|
-
p f = FortranFormat('A10,"""\'|\'"""')
|
16
|
-
p f.count_args
|
17
|
-
puts fortran_format(f, "hello")
|
18
|
-
|
19
|
-
puts fortran_format_read("12345", "F5.2")
|
data/ext/fortio/work/test_ep.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
require "fortio"
|
2
|
-
|
3
|
-
fmt200 = FortranFormat.new("(3pe13.6,-2p2e13.6)")
|
4
|
-
|
5
|
-
p fortran_format_write("", fmt200, *[0.000123456]*3)
|
6
|
-
|
7
|
-
p text = fortran_format_write("", "3pf10.5", 3)
|
8
|
-
p fortran_format_read(text, "3pf10.5")
|
9
|
-
|
10
|
-
p fortran_format_write("", "g13.5", 893)
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require "carray"
|
2
|
-
require "fortio"
|
3
|
-
|
4
|
-
head = " 1440 721 0.00 90.00 0.2500 31 0.18712E+00 0.44215E-01 0.35660E-01 0.30406E-01 0.34569E-01 0.17713E-01 0.25666E-01 0.26762E-01 0.10912E-01 0.10623E-01 0.62775E-02 0.66029E-02 0.11870E+00 0.47465E-02 0.86580E-01 0.33813E-02 0.10799E+00 0.22265E-02 0.76236E-01 0.65007E-01 0.51308E-01 0.58308E-01 0.43458E-01 0.21357E-01 0.89651E-02 0.10000E-01 0.10000E-01 0.10000E-01 0.10000E-01 0.10000E-02 0.10000E+01"
|
5
|
-
|
6
|
-
ffp = FortranFormat.new('2X,2i6,2f8.2,f8.4,i3,31e12.5')
|
7
|
-
p list = ffp.read(head)
|
8
|
-
ffp.write(test="", *list)
|
9
|
-
|
10
|
-
p head
|
11
|
-
p test
|
12
|
-
p head == test
|
@@ -1 +0,0 @@
|
|
1
|
-
require "carray/math/mathfunc"
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# ----------------------------------------------------------------------------
|
2
|
-
#
|
3
|
-
# lib/carray/graphics/imagemap.rb
|
4
|
-
#
|
5
|
-
# This file is part of Ruby/CArray extension library.
|
6
|
-
# You can redistribute it and/or modify it under the terms of
|
7
|
-
# the Ruby Licence.
|
8
|
-
#
|
9
|
-
# Copyright (C) 2005 Hiroki Motoyoshi
|
10
|
-
#
|
11
|
-
# ----------------------------------------------------------------------------
|
12
|
-
|
13
|
-
require "carray/carray_mathfunc"
|
14
|
-
|
15
|
-
|
data/ext/narray/README
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
|
2
|
-
This directory contains the plugin library used as the interface to NArray
|
3
|
-
and NArrayMiss library from Ruby/CArray.
|
4
|
-
|
5
|
-
---
|
6
|
-
NArray Library (http://narray.rubyforge.org/) by Masahiro Tanaka.
|
7
|
-
|
8
|
-
NArray is an Numerical N-dimensional Array class. Supported element types
|
9
|
-
are 1/2/4-byte Integer, single/double-precision Real/Complex, and Ruby
|
10
|
-
Object. This extension library incorporates fast calculation and easy
|
11
|
-
manipulation of large numerical arrays into the Ruby language. NArray
|
12
|
-
has features similar to NumPy, but NArray has vector and matrix subclasses.
|
13
|
-
|
14
|
-
(License: Ruby License)
|
15
|
-
|
16
|
-
---
|
17
|
-
NArrayMiss Library (http://ruby.gfd-dennou.org/index.htm) by Seiya Nishizawa.
|
18
|
-
|
19
|
-
NArrayMiss is a additional class processing of missing value with to NArray
|
20
|
-
for Ruby.
|
21
|
-
|
22
|
-
(License: GNU Lesser General Public License (LGPL) version 2.)
|