Author: Justin Peel <notmuchtot...@gmail.com> Branch: numpy-dtype Changeset: r46718:9e75642aab93 Date: 2011-08-23 00:52 -0600 http://bitbucket.org/pypy/pypy/changeset/9e75642aab93/
Log: add abs diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py --- a/pypy/module/micronumpy/interp_numarray.py +++ b/pypy/module/micronumpy/interp_numarray.py @@ -55,9 +55,9 @@ return w_ufunc(space, self) return func_with_new_name(impl, "unaryop_%s_impl" % w_ufunc.__name__) - descr_pos = _unaryop_impl(interp_ufuncs.positive) + #descr_pos = _unaryop_impl(interp_ufuncs.positive) descr_neg = _unaryop_impl(interp_ufuncs.negative) - #descr_abs = _unaryop_impl(interp_ufuncs.absolute) + descr_abs = _unaryop_impl(interp_ufuncs.absolute) def _binop_impl(w_ufunc): def impl(self, space, w_other): @@ -707,7 +707,7 @@ #__pos__ = interp2app(BaseArray.descr_pos), __neg__ = interp2app(BaseArray.descr_neg), - #__abs__ = interp2app(BaseArray.descr_abs), + __abs__ = interp2app(BaseArray.descr_abs), #__add__ = interp2app(BaseArray.descr_add), #__sub__ = interp2app(BaseArray.descr_sub), #__mul__ = interp2app(BaseArray.descr_mul), diff --git a/pypy/module/micronumpy/interp_ufuncs.py b/pypy/module/micronumpy/interp_ufuncs.py --- a/pypy/module/micronumpy/interp_ufuncs.py +++ b/pypy/module/micronumpy/interp_ufuncs.py @@ -35,44 +35,45 @@ return space.wrap(func(space.float_w(w_lhs), space.float_w(w_rhs))) return func_with_new_name(impl, "%s_dispatcher" % func.__name__)""" -"""@ufunc +@ufunc +@specialize.argtype(0) def absolute(value): return abs(value) -@ufunc2 -def add(lvalue, rvalue): - return lvalue + rvalue +#@ufunc2 +#def add(lvalue, rvalue): +# return lvalue + rvalue -@ufunc2 -def copysign(lvalue, rvalue): - return rfloat.copysign(lvalue, rvalue) +#@ufunc2 +#def copysign(lvalue, rvalue): +# return rfloat.copysign(lvalue, rvalue) -@ufunc2 -def divide(lvalue, rvalue): - return lvalue / rvalue +#@ufunc2 +#def divide(lvalue, rvalue): +# return lvalue / rvalue -@ufunc -def exp(value): - try: - return math.exp(value) - except OverflowError: - return rfloat.INFINITY +#@ufunc +#def exp(value): +# try: +# return math.exp(value) +# except OverflowError: +# return rfloat.INFINITY -@ufunc -def fabs(value): - return math.fabs(value) +#@ufunc +#def fabs(value): +# return math.fabs(value) -@ufunc2 -def maximum(lvalue, rvalue): - return max(lvalue, rvalue) +#@ufunc2 +#def maximum(lvalue, rvalue): +# return max(lvalue, rvalue) -@ufunc2 -def minimum(lvalue, rvalue): - return min(lvalue, rvalue) +#@ufunc2 +#def minimum(lvalue, rvalue): +# return min(lvalue, rvalue) -@ufunc2 -def multiply(lvalue, rvalue): - return lvalue * rvalue""" +#@ufunc2 +#def multiply(lvalue, rvalue): +# return lvalue * rvalue # Used by numarray for __pos__. Not visible from numpy application space. @ufunc @@ -83,59 +84,59 @@ @specialize.argtype(0) def negative(value): return -value -""" -@ufunc -def reciprocal(value): - if value == 0.0: - return rfloat.copysign(rfloat.INFINITY, value) - return 1.0 / value -@ufunc2 -def subtract(lvalue, rvalue): - return lvalue - rvalue +#@ufunc +#def reciprocal(value): +# if value == 0.0: +# return rfloat.copysign(rfloat.INFINITY, value) +# return 1.0 / value -@ufunc -def floor(value): - return math.floor(value) +#@ufunc2 +#def subtract(lvalue, rvalue): +# return lvalue - rvalue -@ufunc -def sign(value): - if value == 0.0: - return 0.0 - return rfloat.copysign(1.0, value) +#@ufunc +#def floor(value): +# return math.floor(value) -@ufunc -def sin(value): - return math.sin(value) +#@ufunc +#def sign(value): +# if value == 0.0: +# return 0.0 +# return rfloat.copysign(1.0, value) -@ufunc -def cos(value): - return math.cos(value) +#@ufunc +#def sin(value): +# return math.sin(value) -@ufunc -def tan(value): - return math.tan(value) +#@ufunc +#def cos(value): +# return math.cos(value) -@ufunc2 -def power(lvalue, rvalue): - return math.pow(lvalue, rvalue) +#@ufunc +#def tan(value): +# return math.tan(value) -@ufunc2 -def mod(lvalue, rvalue): - return math.fmod(lvalue, rvalue) +#@ufunc2 +#def power(lvalue, rvalue): +# return math.pow(lvalue, rvalue) -@ufunc -def arcsin(value): - if value < -1.0 or value > 1.0: - return rfloat.NAN - return math.asin(value) +#@ufunc2 +#def mod(lvalue, rvalue): +# return math.fmod(lvalue, rvalue) -@ufunc -def arccos(value): - if value < -1.0 or value > 1.0: - return rfloat.NAN - return math.acos(value) +#@ufunc +#def arcsin(value): +# if value < -1.0 or value > 1.0: +# return rfloat.NAN +# return math.asin(value) -@ufunc -def arctan(value): - return math.atan(value)""" +#@ufunc +#def arccos(value): +# if value < -1.0 or value > 1.0: +# return rfloat.NAN +# return math.acos(value) + +#@ufunc +#def arctan(value): +# return math.atan(value) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit