Author: Ronan Lamy <ronan.l...@gmail.com> Branch: object-dtype2 Changeset: r76805:79f2ee46aa25 Date: 2015-04-16 18:57 +0100 http://bitbucket.org/pypy/pypy/changeset/79f2ee46aa25/
Log: fix some translation issues diff --git a/pypy/module/micronumpy/ndarray.py b/pypy/module/micronumpy/ndarray.py --- a/pypy/module/micronumpy/ndarray.py +++ b/pypy/module/micronumpy/ndarray.py @@ -205,12 +205,9 @@ w_res = self.getitem_filter(space, w_idx) else: try: - w_res = self.implementation.descr_getitem(space, self, w_idx) + return self.implementation.descr_getitem(space, self, w_idx) except ArrayArgumentException: - w_res = self.getitem_array_int(space, w_idx) - if w_res.is_scalar() and w_res.get_dtype(space).is_object(): - return w_res.get_dtype(space).itemtype.unbox(w_res) - return w_res + return self.getitem_array_int(space, w_idx) def getitem(self, space, index_list): return self.implementation.getitem_index(space, index_list) @@ -849,7 +846,7 @@ "new type not compatible with array.")) # Strides, shape does not change v = impl.astype(space, dtype) - return wrap_impl(space, w_type, self, v) + return wrap_impl(space, w_type, self, v) strides = impl.get_strides() if dims == 1 or strides[0] <strides[-1]: # Column-major, resize first dimension @@ -895,7 +892,7 @@ iter, state = self.create_iter() w_val = iter.getitem(state) if self.get_dtype().is_object(): - w_val = self.get_dtype().itemtype.unbox(w_val) + w_val = self.get_dtype().itemtype.unbox(w_val) return space.wrap(space.is_true(w_val)) def _binop_impl(ufunc_name): @@ -1212,7 +1209,7 @@ "improper dtype '%R'", dtype) self.implementation = W_NDimArray.from_shape_and_storage( space, [space.int_w(i) for i in space.listview(shape)], - rffi.str2charp(space.str_w(storage), track_allocation=False), + rffi.str2charp(space.str_w(storage), track_allocation=False), dtype, storage_bytes=space.len_w(storage), owning=True).implementation def descr___array_finalize__(self, space, w_obj): diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py --- a/pypy/module/micronumpy/types.py +++ b/pypy/module/micronumpy/types.py @@ -1742,7 +1742,6 @@ return v1 return v2 - @simple_unary_op def bool(self,v): return self._obool(v) @@ -1854,7 +1853,7 @@ def add_unary_op(cls, op, method): @simple_unary_op def func(self, w_v): - w_impl = getattr(w_v, method, None) + w_impl = getattr(w_v, method) if w_impl is None: raise oefmt(self.space.w_AttributeError, 'unknown op "%s" on object' % op) return w_impl(self.space) @@ -1876,15 +1875,13 @@ setattr(cls, op, func) for op in ('copysign', 'isfinite', 'isinf', 'isnan', 'logaddexp', 'logaddexp2', - 'signbit'): + 'signbit', 'conj', 'rint'): add_unsupported_op(ObjectType, op) for op in ('arctan2', 'arccos', 'arccosh', 'arcsin', 'arcsinh', 'arctan', 'arctanh', 'ceil', 'floor', 'cos', 'sin', 'tan', 'cosh', 'sinh', 'tanh', 'radians', 'degrees', 'exp','exp2', 'expm1', 'fabs', 'log', 'log10', 'log1p', 'log2', 'sqrt', 'trunc'): add_attributeerr_op(ObjectType, op) -for op, method in (('conj', 'descr_conjugate'), ('rint', 'descr_rint')): - add_unary_op(ObjectType, op, method) for op in ('abs', 'neg', 'pos', 'invert'): add_space_unary_op(ObjectType, op) for op in ('add', 'floordiv', 'div', 'mod', 'mul', 'sub', 'lshift', 'rshift'): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit