Skip to content

mp.asin returns incorrect results at complex infinities #793

@pearu

Description

@pearu

As in the title.

Reproducer (using 1.4.0a1.dev43+g0d287bf):

>>> z = complex(mpmath.inf, mpmath.inf); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='+inf'), (0.7853981633974483+infj))
>>> z = complex(mpmath.inf, -mpmath.inf); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='-inf'), (0.7853981633974483-infj))
>>> z = complex(-mpmath.inf, mpmath.inf); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='+inf'), (-0.7853981633974483+infj))
>>> z = complex(-mpmath.inf, -mpmath.inf); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='-inf'), (-0.7853981633974483-infj))
>>> z = complex(mpmath.inf, 1); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='+inf'), (1.5707963267948966+infj))
>>> z = complex(mpmath.inf, 0); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='1.5707963267948966', imag='-inf'), (1.5707963267948966+infj))
>>> z = complex(mpmath.inf, -1); mpmath.mp.asin(z), mpmath.fp.asin(z)  # mp.asin vs expected
(mpc(real='nan', imag='-inf'), (1.5707963267948966-infj))

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugan unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions