narray 0.5.9.4 → 0.5.9.5
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.
- data/src/ChangeLog +29 -0
- data/src/MANIFEST +7 -36
- data/src/README.en +1 -5
- data/src/README.ja +1 -2
- data/src/SPEC.en +15 -8
- data/src/SPEC.ja +5 -2
- data/src/bench/all.rb +88 -0
- data/src/bench/bench.m +61 -0
- data/src/bench/bench.py +89 -0
- data/src/bench/bench.rb +59 -0
- data/src/bench/dummy.m +0 -0
- data/src/bench/dummy.py +13 -0
- data/src/bench/dummy.rb +0 -0
- data/src/lib/narray_ext.rb +36 -2
- data/src/mkmath.rb +4 -4
- data/src/mkop.rb +16 -16
- data/src/na_array.c +32 -32
- data/src/na_func.c +50 -50
- data/src/na_index.c +26 -32
- data/src/na_linalg.c +23 -26
- data/src/na_random.c +15 -18
- data/src/narray.c +22 -32
- data/src/narray.h +3 -3
- data/src/narray_local.h +1 -1
- metadata +10 -39
- data/src/nimage/README.en +0 -38
- data/src/nimage/demo/fits.rb +0 -97
- data/src/nimage/demo/fits_convol.rb +0 -28
- data/src/nimage/demo/fits_fftdemo.rb +0 -27
- data/src/nimage/demo/fitsdemo1.rb +0 -13
- data/src/nimage/demo/fitsdemo2.rb +0 -30
- data/src/nimage/demo/fitsdemo3.rb +0 -26
- data/src/nimage/demo/fitsmorph.rb +0 -39
- data/src/nimage/demo/life_na.rb +0 -57
- data/src/nimage/demo/mandel.rb +0 -41
- data/src/nimage/extconf.rb +0 -12
- data/src/nimage/lib/nimage.rb +0 -51
- data/src/nimage/nimage.c +0 -328
- data/src/speed/add.py +0 -12
- data/src/speed/add.rb +0 -8
- data/src/speed/add_int.py +0 -12
- data/src/speed/add_int.rb +0 -9
- data/src/speed/lu.m +0 -14
- data/src/speed/lu.rb +0 -22
- data/src/speed/mat.m +0 -23
- data/src/speed/mat.rb +0 -28
- data/src/speed/mul.py +0 -12
- data/src/speed/mul.rb +0 -9
- data/src/speed/mul2.py +0 -15
- data/src/speed/mul2.rb +0 -13
- data/src/speed/mul_comp.py +0 -12
- data/src/speed/mul_comp.rb +0 -9
- data/src/speed/mul_int.py +0 -12
- data/src/speed/mul_int.rb +0 -9
- data/src/speed/mybench.py +0 -15
- data/src/speed/mybench.rb +0 -31
- data/src/speed/solve.m +0 -18
- data/src/speed/solve.py +0 -16
- data/src/speed/solve.rb +0 -21
data/src/speed/add_int.py
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
|
3
|
-
a = arrayrange(ARRSZ)
|
4
|
-
b = arrayrange(ARRSZ)
|
5
|
-
|
6
|
-
print "a.typecode:",a.typecode(),", a.shape:",a.shape
|
7
|
-
print "b.typecode:",b.typecode(),", b.shape:",b.shape
|
8
|
-
print "calculating c = a+b ..."
|
9
|
-
|
10
|
-
def bench_body(a=a,b=b): c=a+b
|
11
|
-
|
12
|
-
bench_time(bench_body)
|
data/src/speed/add_int.rb
DELETED
data/src/speed/lu.m
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# mesuring performance of Octave
|
2
|
-
|
3
|
-
n = 1000;
|
4
|
-
m = linspace(0,n*n-1,n*n);
|
5
|
-
m = rem(m, n+1) + 1;
|
6
|
-
m = reshape(m,n,n);
|
7
|
-
|
8
|
-
printf ("executing %ix%i LU...\n",n,n);
|
9
|
-
[t1, u1, s1] = cputime ();
|
10
|
-
[l,u,p] = lu(m);
|
11
|
-
[t2, u2, s2] = cputime ();
|
12
|
-
printf (" Time: %5.2f sec\n", u2 - u1);
|
13
|
-
# Time: 20.43 sec, GNU Octave, version 2.0.16 (sparc-sun-solaris2.7).
|
14
|
-
exit
|
data/src/speed/lu.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'mybench'
|
2
|
-
|
3
|
-
n = 1000
|
4
|
-
m = NArray.float(n,n).indgen!
|
5
|
-
m = m % (n+1) + 1
|
6
|
-
m = NMatrix.ref(m).transpose
|
7
|
-
|
8
|
-
puts 'm ='
|
9
|
-
p m
|
10
|
-
|
11
|
-
printf "executing %ix%i LU...\n",n,n
|
12
|
-
bench_time(1){lu = m.lu}
|
13
|
-
exit
|
14
|
-
|
15
|
-
puts 'lu='
|
16
|
-
p lu
|
17
|
-
puts 'y='
|
18
|
-
p y
|
19
|
-
puts 'm*y='
|
20
|
-
p m*y
|
21
|
-
|
22
|
-
#system "ps -v"
|
data/src/speed/mat.m
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# mesuring performance of Octave
|
2
|
-
|
3
|
-
n = 500;
|
4
|
-
|
5
|
-
a = linspace(0,n*n-1,n*n);
|
6
|
-
a = rem(a, n+1) + 1;
|
7
|
-
a = reshape(a,n,n);
|
8
|
-
|
9
|
-
b = linspace(0,n*n-1,n*n);
|
10
|
-
b = rem(b, n-1) + 1;
|
11
|
-
b = reshape(b,n,n);
|
12
|
-
|
13
|
-
printf ("executing product of %ix%i Matrix...\n",n,n);
|
14
|
-
printf ("c=a*b\n");
|
15
|
-
|
16
|
-
[t1, u1, s1] = cputime ();
|
17
|
-
c = a*b;
|
18
|
-
[t2, u2, s2] = cputime ();
|
19
|
-
|
20
|
-
printf (" Time: %f\n", u2 - u1);
|
21
|
-
# Time: 7.280000
|
22
|
-
# GNU Octave, version 2.0.16 (sparc-sun-solaris2.7).
|
23
|
-
exit
|
data/src/speed/mat.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'mybench'
|
2
|
-
|
3
|
-
n = 500
|
4
|
-
|
5
|
-
a = NArray.float(n,n).indgen!
|
6
|
-
a = a % (n+1) + 1
|
7
|
-
a = NMatrix.ref(a)#.transpose
|
8
|
-
|
9
|
-
b = NArray.float(n,n).indgen!
|
10
|
-
b = b % (n-1) + 1
|
11
|
-
b = NMatrix.ref(b)#.transpose
|
12
|
-
|
13
|
-
c = 0
|
14
|
-
|
15
|
-
puts 'a='
|
16
|
-
p a
|
17
|
-
puts 'b='
|
18
|
-
p b
|
19
|
-
|
20
|
-
printf "executing %ix%i Matrix product...\n",n,n
|
21
|
-
puts 'c=a*b'
|
22
|
-
|
23
|
-
bench_time(1) { c=a*b }
|
24
|
-
|
25
|
-
# time: 4.21 sec
|
26
|
-
|
27
|
-
puts 'c='
|
28
|
-
p c
|
data/src/speed/mul.py
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
|
3
|
-
a = bench_array()
|
4
|
-
b = bench_array()
|
5
|
-
|
6
|
-
print "a.typecode:",a.typecode(),", a.shape:",a.shape
|
7
|
-
print "b.typecode:",b.typecode(),", b.shape:",b.shape
|
8
|
-
print "calculating c = a*b ..."
|
9
|
-
|
10
|
-
def bench_body(a=a,b=b): c=a*b
|
11
|
-
|
12
|
-
bench_time(bench_body)
|
data/src/speed/mul.rb
DELETED
data/src/speed/mul2.py
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
|
3
|
-
a = reshape(arrayrange(1000),(1000,1)).astype(Float64)
|
4
|
-
b = reshape(arrayrange(1000),(1,1000)).astype(Float64)
|
5
|
-
|
6
|
-
print "a.typecode:",a.typecode(),", a.shape:",a.shape
|
7
|
-
print "b.typecode:",b.typecode(),", b.shape:",b.shape
|
8
|
-
print "calculating c = a*b ..."
|
9
|
-
|
10
|
-
def bench_body(a=a,b=b): c=a*b
|
11
|
-
|
12
|
-
bench_time(bench_body)
|
13
|
-
|
14
|
-
c = a*b
|
15
|
-
print "c.shape:", c.shape,"\n"
|
data/src/speed/mul2.rb
DELETED
data/src/speed/mul_comp.py
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
|
3
|
-
a = bench_array(Complex64)
|
4
|
-
b = bench_array(Complex64)
|
5
|
-
|
6
|
-
print "a.typecode:",a.typecode(),", a.shape:",a.shape
|
7
|
-
print "b.typecode:",b.typecode(),", b.shape:",b.shape
|
8
|
-
print "calculating c = a*b ..."
|
9
|
-
|
10
|
-
def bench_body(a=a,b=b): c=a*b
|
11
|
-
|
12
|
-
bench_time(bench_body)
|
data/src/speed/mul_comp.rb
DELETED
data/src/speed/mul_int.py
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
|
3
|
-
a = arrayrange(ARRSZ) # % 1000
|
4
|
-
b = arrayrange(ARRSZ) # / 1000
|
5
|
-
|
6
|
-
print "a.typecode:",a.typecode(),", a.shape:",a.shape
|
7
|
-
print "b.typecode:",b.typecode(),", b.shape:",b.shape
|
8
|
-
print "calculating c = a*b ..."
|
9
|
-
|
10
|
-
def bench_body(a=a,b=b): c=a*b
|
11
|
-
|
12
|
-
bench_time(bench_body)
|
data/src/speed/mul_int.rb
DELETED
data/src/speed/mybench.py
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
from Numeric import *
|
2
|
-
import time
|
3
|
-
|
4
|
-
REPEAT = 100
|
5
|
-
ARRSZ = 1000000
|
6
|
-
|
7
|
-
def bench_array(type=Float64):
|
8
|
-
return arrayrange(ARRSZ).astype(type)
|
9
|
-
|
10
|
-
def bench_time(func,repeat=REPEAT):
|
11
|
-
start = time.clock()
|
12
|
-
for i in range(repeat):
|
13
|
-
func()
|
14
|
-
stop = time.clock()
|
15
|
-
print " Time: %7.3f sec" % (stop-start)
|
data/src/speed/mybench.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'narray'
|
2
|
-
|
3
|
-
REPEAT = 100
|
4
|
-
ARRSZ = 1_000_0000
|
5
|
-
T = (RUBY_VERSION<"1.8.0") ? Time : Process
|
6
|
-
|
7
|
-
def bench_array(type=Float)
|
8
|
-
[ NArray.new(type,ARRSZ).indgen!,
|
9
|
-
NArray.new(type,ARRSZ).indgen! ]
|
10
|
-
end
|
11
|
-
|
12
|
-
def bench_float
|
13
|
-
bench_array(Float)
|
14
|
-
end
|
15
|
-
|
16
|
-
def bench_int
|
17
|
-
bench_array(Integer)
|
18
|
-
end
|
19
|
-
|
20
|
-
def bench_complex
|
21
|
-
bench_array(Complex)
|
22
|
-
end
|
23
|
-
|
24
|
-
def bench_time(n=REPEAT)
|
25
|
-
t1 = T.times.utime
|
26
|
-
for i in 1..n
|
27
|
-
yield
|
28
|
-
end
|
29
|
-
t2 = T.times.utime
|
30
|
-
puts " Time: %.2f sec\n\n" % [t2-t1]
|
31
|
-
end
|
data/src/speed/solve.m
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# mesuring performance of Octave
|
2
|
-
n = 500;
|
3
|
-
m = linspace(0,n*n-1,n*n);
|
4
|
-
m = rem(m, n+1) + 1;
|
5
|
-
m = reshape(m,n,n);
|
6
|
-
x = reshape(linspace(1,n*n,n*n),n,n);
|
7
|
-
|
8
|
-
printf ("solving %ix%i matrix...\n",n,n);
|
9
|
-
[t1, u1, s1] = cputime ();
|
10
|
-
|
11
|
-
y = m \ x;
|
12
|
-
|
13
|
-
[t2, u2, s2] = cputime ();
|
14
|
-
printf (" Time: %5.2f sec\n", u2 - u1);
|
15
|
-
|
16
|
-
# Time: 6.87 sec, GNU Octave, version 2.0.16 (sparc-sun-solaris2.7).
|
17
|
-
#y
|
18
|
-
exit
|
data/src/speed/solve.py
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
from mybench import *
|
2
|
-
from LinearAlgebra import *
|
3
|
-
|
4
|
-
n = 500
|
5
|
-
|
6
|
-
a = reshape(arrayrange(n*n)%(n+1)+1,(n,n)).astype(Float64)
|
7
|
-
|
8
|
-
b = reshape(arrayrange(n*n)+1,(n,n)).astype(Float64)
|
9
|
-
#b = arrayrange(n).astype(Float64)+1
|
10
|
-
|
11
|
-
print "LU factorize & solve %ix%i matrix ..."%(n,n)
|
12
|
-
|
13
|
-
def bench_body(a=a,b=b): c=solve_linear_equations(a,b)
|
14
|
-
bench_time(bench_body,1)
|
15
|
-
|
16
|
-
# Time: 8.120 sec
|
data/src/speed/solve.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'mybench'
|
2
|
-
|
3
|
-
n = 500
|
4
|
-
m = NArray.float(n,n).indgen!
|
5
|
-
m = m % (n+1) + 1
|
6
|
-
m = NMatrix.ref(m).transpose
|
7
|
-
x = NMatrix.float(n,n).indgen!(1).transpose
|
8
|
-
#x = NVector.float(n).indgen!(1)
|
9
|
-
y = 0
|
10
|
-
|
11
|
-
puts 'm ='
|
12
|
-
p m
|
13
|
-
puts 'x ='
|
14
|
-
p x
|
15
|
-
|
16
|
-
printf "solving y=x/m ...\n",n,n
|
17
|
-
bench_time(1){ y = x/m }
|
18
|
-
# Time: 5.87 sec
|
19
|
-
|
20
|
-
puts 'y='
|
21
|
-
p y
|