Author: Maciej Fijalkowski <fij...@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]) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit