[pypy-commit] pypy numpy-dtype: add abs
justinpeel
noreply at buildbot.pypy.org
Tue Aug 23 08:49:28 CEST 2011
Author: Justin Peel <notmuchtotell at 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
+ at ufunc
+ at specialize.argtype(0)
def absolute(value):
return abs(value)
- at ufunc2
-def add(lvalue, rvalue):
- return lvalue + rvalue
+#@ufunc2
+#def add(lvalue, rvalue):
+# return lvalue + rvalue
- at ufunc2
-def copysign(lvalue, rvalue):
- return rfloat.copysign(lvalue, rvalue)
+#@ufunc2
+#def copysign(lvalue, rvalue):
+# return rfloat.copysign(lvalue, rvalue)
- at ufunc2
-def divide(lvalue, rvalue):
- return lvalue / rvalue
+#@ufunc2
+#def divide(lvalue, rvalue):
+# return lvalue / rvalue
- at 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
- at ufunc
-def fabs(value):
- return math.fabs(value)
+#@ufunc
+#def fabs(value):
+# return math.fabs(value)
- at ufunc2
-def maximum(lvalue, rvalue):
- return max(lvalue, rvalue)
+#@ufunc2
+#def maximum(lvalue, rvalue):
+# return max(lvalue, rvalue)
- at ufunc2
-def minimum(lvalue, rvalue):
- return min(lvalue, rvalue)
+#@ufunc2
+#def minimum(lvalue, rvalue):
+# return min(lvalue, rvalue)
- at 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
-"""
- at ufunc
-def reciprocal(value):
- if value == 0.0:
- return rfloat.copysign(rfloat.INFINITY, value)
- return 1.0 / value
- at 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
- at ufunc
-def floor(value):
- return math.floor(value)
+#@ufunc2
+#def subtract(lvalue, rvalue):
+# return lvalue - rvalue
- at 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)
- at 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)
- at ufunc
-def cos(value):
- return math.cos(value)
+#@ufunc
+#def sin(value):
+# return math.sin(value)
- at ufunc
-def tan(value):
- return math.tan(value)
+#@ufunc
+#def cos(value):
+# return math.cos(value)
- at ufunc2
-def power(lvalue, rvalue):
- return math.pow(lvalue, rvalue)
+#@ufunc
+#def tan(value):
+# return math.tan(value)
- at ufunc2
-def mod(lvalue, rvalue):
- return math.fmod(lvalue, rvalue)
+#@ufunc2
+#def power(lvalue, rvalue):
+# return math.pow(lvalue, rvalue)
- at 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)
- at 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)
- at 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)
More information about the pypy-commit
mailing list