Author: Alex Gaynor <alex.gay...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit