[pypy-commit] pypy numpy-reintroduce-jit-drivers: fix test_compile
fijal
noreply at buildbot.pypy.org
Sat Sep 29 18:52:56 CEST 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: numpy-reintroduce-jit-drivers
Changeset: r57666:665e0568f39b
Date: 2012-09-29 18:52 +0200
http://bitbucket.org/pypy/pypy/changeset/665e0568f39b/
Log: fix test_compile
diff --git a/pypy/module/micronumpy/compile.py b/pypy/module/micronumpy/compile.py
--- a/pypy/module/micronumpy/compile.py
+++ b/pypy/module/micronumpy/compile.py
@@ -9,8 +9,8 @@
from pypy.interpreter.error import OperationError
from pypy.module.micronumpy import interp_boxes
from pypy.module.micronumpy.interp_dtype import get_dtype_cache
-from pypy.module.micronumpy.interp_numarray import (Scalar, BaseArray,
- scalar_w, W_NDimArray, array)
+from pypy.module.micronumpy.base import W_NDimArray
+from pypy.module.micronumpy.interp_numarray import array
from pypy.module.micronumpy.interp_arrayops import where
from pypy.module.micronumpy import interp_ufuncs
from pypy.rlib.objectmodel import specialize, instantiate
@@ -274,7 +274,7 @@
if isinstance(w_index, FloatObject):
w_index = IntObject(int(w_index.floatval))
w_val = self.expr.execute(interp)
- assert isinstance(arr, BaseArray)
+ assert isinstance(arr, W_NDimArray)
arr.descr_setitem(interp.space, w_index, w_val)
def __repr__(self):
@@ -302,11 +302,11 @@
w_rhs = self.rhs.wrap(interp.space)
else:
w_rhs = self.rhs.execute(interp)
- if not isinstance(w_lhs, BaseArray):
+ if not isinstance(w_lhs, W_NDimArray):
# scalar
dtype = get_dtype_cache(interp.space).w_float64dtype
- w_lhs = scalar_w(interp.space, dtype, w_lhs)
- assert isinstance(w_lhs, BaseArray)
+ w_lhs = W_NDimArray.new_scalar(interp.space, dtype, w_lhs)
+ assert isinstance(w_lhs, W_NDimArray)
if self.name == '+':
w_res = w_lhs.descr_add(interp.space, w_rhs)
elif self.name == '*':
@@ -314,17 +314,16 @@
elif self.name == '-':
w_res = w_lhs.descr_sub(interp.space, w_rhs)
elif self.name == '->':
- assert not isinstance(w_rhs, Scalar)
if isinstance(w_rhs, FloatObject):
w_rhs = IntObject(int(w_rhs.floatval))
- assert isinstance(w_lhs, BaseArray)
+ assert isinstance(w_lhs, W_NDimArray)
w_res = w_lhs.descr_getitem(interp.space, w_rhs)
else:
raise NotImplementedError
- if (not isinstance(w_res, BaseArray) and
+ if (not isinstance(w_res, W_NDimArray) and
not isinstance(w_res, interp_boxes.W_GenericBox)):
dtype = get_dtype_cache(interp.space).w_float64dtype
- w_res = scalar_w(interp.space, dtype, w_res)
+ w_res = W_NDimArray.new_scalar(interp.space, dtype, w_res)
return w_res
def __repr__(self):
@@ -416,7 +415,7 @@
def execute(self, interp):
arr = self.args[0].execute(interp)
- if not isinstance(arr, BaseArray):
+ if not isinstance(arr, W_NDimArray):
raise ArgumentNotAnArray
if self.name in SINGLE_ARG_FUNCTIONS:
if len(self.args) != 1 and self.name != 'sum':
@@ -453,7 +452,7 @@
if len(self.args) != 2:
raise ArgumentMismatch
arg = self.args[1].execute(interp)
- if not isinstance(arg, BaseArray):
+ if not isinstance(arg, W_NDimArray):
raise ArgumentNotAnArray
if self.name == "dot":
w_res = arr.descr_dot(interp.space, arg)
@@ -466,9 +465,9 @@
raise ArgumentMismatch
arg1 = self.args[1].execute(interp)
arg2 = self.args[2].execute(interp)
- if not isinstance(arg1, BaseArray):
+ if not isinstance(arg1, W_NDimArray):
raise ArgumentNotAnArray
- if not isinstance(arg2, BaseArray):
+ if not isinstance(arg2, W_NDimArray):
raise ArgumentNotAnArray
if self.name == "where":
w_res = where(interp.space, arr, arg1, arg2)
@@ -476,7 +475,7 @@
assert False
else:
raise WrongFunctionName
- if isinstance(w_res, BaseArray):
+ if isinstance(w_res, W_NDimArray):
return w_res
if isinstance(w_res, FloatObject):
dtype = get_dtype_cache(interp.space).w_float64dtype
@@ -488,7 +487,7 @@
dtype = w_res.get_dtype(interp.space)
else:
dtype = None
- return scalar_w(interp.space, dtype, w_res)
+ return W_NDimArray.new_scalar(interp.space, dtype, w_res)
_REGEXES = [
('-?[\d\.]+', 'number'),
diff --git a/pypy/module/micronumpy/test/test_compile.py b/pypy/module/micronumpy/test/test_compile.py
--- a/pypy/module/micronumpy/test/test_compile.py
+++ b/pypy/module/micronumpy/test/test_compile.py
@@ -1,6 +1,5 @@
+
import py
-py.test.skip("this is going away")
-
from pypy.module.micronumpy.compile import (numpy_compile, Assignment,
ArrayConstant, FloatConstant, Operator, Variable, RangeConstant, Execute,
FunctionCall, FakeSpace)
@@ -136,7 +135,7 @@
r
"""
interp = self.run(code)
- assert interp.results[0].value.value == 15
+ assert interp.results[0].get_scalar_value().value == 15
def test_sum2(self):
code = """
@@ -145,7 +144,7 @@
sum(b)
"""
interp = self.run(code)
- assert interp.results[0].value.value == 30 * (30 - 1)
+ assert interp.results[0].get_scalar_value().value == 30 * (30 - 1)
def test_array_write(self):
@@ -164,7 +163,7 @@
b = a + a
min(b)
""")
- assert interp.results[0].value.value == -24
+ assert interp.results[0].get_scalar_value().value == -24
def test_max(self):
interp = self.run("""
@@ -173,7 +172,7 @@
b = a + a
max(b)
""")
- assert interp.results[0].value.value == 256
+ assert interp.results[0].get_scalar_value().value == 256
def test_slice(self):
interp = self.run("""
@@ -265,6 +264,7 @@
assert interp.results[0].value == 3
def test_take(self):
+ py.test.skip("unsupported")
interp = self.run("""
a = |10|
b = take(a, [1, 1, 3, 2])
More information about the pypy-commit
mailing list