Author: Alex Gaynor <[email protected]>
Branch:
Changeset: r47772:7eb1a7979b5e
Date: 2011-10-02 13:00 -0400
http://bitbucket.org/pypy/pypy/changeset/7eb1a7979b5e/
Log: add numpy.arcsinh
diff --git a/pypy/module/micronumpy/__init__.py
b/pypy/module/micronumpy/__init__.py
--- a/pypy/module/micronumpy/__init__.py
+++ b/pypy/module/micronumpy/__init__.py
@@ -23,6 +23,7 @@
("arccos", "arccos"),
("arcsin", "arcsin"),
("arctan", "arctan"),
+ ("arcsinh", "arcsinh"),
("copysign", "copysign"),
("cos", "cos"),
("divide", "divide"),
diff --git a/pypy/module/micronumpy/interp_dtype.py
b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -261,6 +261,9 @@
@unaryop
def arctan(self, v):
return math.atan(v)
+ @unaryop
+ def arcsinh(self, v):
+ return math.asinh(v)
class IntegerArithmeticDtype(ArithmaticTypeMixin):
_mixin_ = True
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
@@ -268,6 +268,7 @@
("arcsin", "arcsin", 1, {"promote_to_float": True}),
("arccos", "arccos", 1, {"promote_to_float": True}),
("arctan", "arctan", 1, {"promote_to_float": True}),
+ ("arcsinh", "arcsinh", 1, {"promote_to_float": True}),
]:
self.add_ufunc(space, *ufunc_def)
diff --git a/pypy/module/micronumpy/test/test_ufuncs.py
b/pypy/module/micronumpy/test/test_ufuncs.py
--- a/pypy/module/micronumpy/test/test_ufuncs.py
+++ b/pypy/module/micronumpy/test/test_ufuncs.py
@@ -298,6 +298,14 @@
b = arctan(a)
assert math.isnan(b[0])
+ def test_arcsinh(self):
+ import math
+ from numpy import arcsinh, inf
+
+ for v in [inf, -inf, 1.0, math.e]:
+ assert math.asinh(v) == arcsinh(v)
+ assert math.isnan(arcsinh(float("nan")))
+
def test_reduce_errors(self):
from numpy import sin, add
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit