Author: Alex Gaynor <[email protected]>
Branch: numpy-dtype-alt
Changeset: r46692:7501f32f96eb
Date: 2011-08-21 13:35 -0500
http://bitbucket.org/pypy/pypy/changeset/7501f32f96eb/
Log: random progress, most of them don't work for obscure reasons still
diff --git a/pypy/module/micronumpy/test/test_zjit.py
b/pypy/module/micronumpy/test/test_zjit.py
--- a/pypy/module/micronumpy/test/test_zjit.py
+++ b/pypy/module/micronumpy/test/test_zjit.py
@@ -1,9 +1,9 @@
from pypy.interpreter.baseobjspace import InternalSpaceCache
from pypy.jit.metainterp.test.support import LLJitMixin
+from pypy.module.micronumpy import interp_ufuncs, signature
from pypy.module.micronumpy.compile import numpy_compile
from pypy.module.micronumpy.interp_dtype import W_Float64Dtype
-from pypy.module.micronumpy.interp_numarray import SingleDimArray, scalar_w
-from pypy.module.micronumpy.interp_ufuncs import negative, add
+from pypy.module.micronumpy.interp_numarray import SingleDimArray,
SingleDimSlice, scalar_w
from pypy.rlib.nonconst import NonConstant
from pypy.rlib.objectmodel import specialize
from pypy.rpython.test.test_llinterp import interpret
@@ -36,7 +36,7 @@
def test_add(self):
def f(i):
ar = SingleDimArray(i, dtype=self.float64_dtype)
- v = add(self.space, ar, ar)
+ v = interp_ufuncs.add(self.space, ar, ar)
concrete = v.get_concrete()
return concrete.dtype.getitem(concrete.storage, 3).val
@@ -49,7 +49,7 @@
def test_floatadd(self):
def f(i):
ar = SingleDimArray(i, dtype=self.float64_dtype)
- v = add(self.space, ar, scalar_w(self.space, W_Float64Dtype, 4.5))
+ v = interp_ufuncs.add(self.space, ar, scalar_w(self.space,
W_Float64Dtype, 4.5))
return v.dtype.getitem(v.get_concrete().storage, 3)
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -62,7 +62,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
return ar.descr_add(space, ar).descr_sum(space)
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -75,7 +75,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
return ar.descr_add(space, ar).descr_prod(space)
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -88,7 +88,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
j = 0
while j < i:
ar.get_concrete().storage[j] = float(j)
@@ -106,7 +106,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
j = 0
while j < i:
ar.get_concrete().storage[j] = float(j)
@@ -124,7 +124,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
j = 0
while j < i:
ar.get_concrete().storage[j] = float(j)
@@ -142,7 +142,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
j = 0
while j < i:
ar.get_concrete().storage[j] = 1.0
@@ -158,7 +158,7 @@
space = self.space
def f(i):
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
return ar.descr_add(space, ar).descr_any(space)
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -167,11 +167,11 @@
"int_lt": 1, "guard_true": 1, "jump": 1})
assert result == f(5)
- def test_already_forecd(self):
+ def test_already_forced(self):
def f(i):
- ar = SingleDimArray(i)
- v1 = Call2(add, ar, Scalar(4.5), Signature())
- v2 = Call2(mul, v1, Scalar(4.5), Signature())
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
+ v1 = interp_ufuncs.add(self.space, ar, scalar_w(self.space,
W_Float64Dtype, 4.5))
+ v2 = interp_ufuncs.mul(self.space, v1, scalar_w(self.space,
W_Float64Dtype, 4.5))
v1.force_if_needed()
return v2.get_concrete().storage[3]
@@ -187,9 +187,9 @@
def test_ufunc(self):
space = self.space
def f(i):
- ar = SingleDimArray(i)
- v1 = Call2(add, ar, ar, Signature())
- v2 = negative(space, v1)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
+ v1 = interp_ufuncs.add(space, ar, ar)
+ v2 = interp_ufuncs.negative(space, v1)
return v2.get_concrete().storage[3]
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -202,16 +202,14 @@
def test_appropriate_specialization(self):
space = self.space
def f(i):
- add_sig = Signature()
- mul_sig = Signature()
- ar = SingleDimArray(i)
+ ar = SingleDimArray(i, dtype=self.float64_dtype)
- v1 = Call2(add, ar, ar, ar.signature.transition(add_sig))
- v2 = negative(space, v1)
+ v1 = interp_ufuncs.add(space, ar, ar)
+ v2 = interp_ufuncs.negative(space, v1)
v2.get_concrete()
for i in xrange(5):
- v1 = Call2(mul, ar, ar, ar.signature.transition(mul_sig))
+ v1 = interp_ufuncs.mul(space, ar, ar)
v2 = negative(space, v1)
v2.get_concrete()
@@ -222,9 +220,12 @@
def test_slice(self):
def f(i):
step = 3
- ar = SingleDimArray(step*i)
- s = SingleDimSlice(0, step*i, step, i, ar,
ar.signature.transition(SingleDimSlice.static_signature))
- v = Call2(add, s, s, Signature())
+ ar = SingleDimArray(step*i, dtype=self.float64_dtype)
+ new_sig = signature.Signature.find_sig([
+ SingleDimSlice.signature, ar.signature
+ ])
+ s = SingleDimSlice(0, step*i, step, i, ar, new_sig)
+ v = interp_ufuncs.add(self.space, s, s)
return v.get_concrete().storage[3]
result = self.meta_interp(f, [5], listops=True, backendopt=True)
@@ -254,8 +255,8 @@
def f(i):
step = NonConstant(3)
- ar = SingleDimArray(step*i)
- ar2 = SingleDimArray(i)
+ ar = SingleDimArray(step*i, dtype=self.float64_dtype)
+ ar2 = SingleDimArray(i, dtype=self.float64_dtype)
ar2.storage[1] = 5.5
if NonConstant(False):
arg = ar2
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit