On Wed, Sep 5, 2012 at 3:30 AM, Matti Picus <matti.pi...@gmail.com> wrote: > I am trying to complete complex numbers in numpypy. > Progress is good, I picked up from previous work on the numpypy-complex2 > branch. > Complex numbers come with extensive tests, it seems all the corner cases are > covered. > In porting the tests to numpypy, I came across a problem: numpy returns > different results than cmath. > Some of the differences are due to the fact that numpy does not raise a > ValueError for dividing by 0 or other silly input values, > but other differences are inexplicable (note the sign of the imaginary > part): >>>> numpy.arccos(complex(0.,-0.)) > (1.5707963267948966-0j) >>>> cmath.acos(complex(0.,-0.)) > (1.5707963267948966+0j) >>>> > > or this one: >>>> cmath.acos(complex(float('inf'),2.3)) > -infj >>>> numpy.arccos(complex(float('inf'),2.3)) > (0.78539816339744828-inf*j) > > Should I ignore the inconsistencies, or fix the 700 out of 2300 test > instance failures? > What should pypy's numpypy do - be consistent with numpy or with cmath? > cmath is easier and probably faster (no need to mangle results or input > args), so I would prefer cmath to trying to understand the logic behind > numpy. > Matti
If you ask me, cmath is correct and numpy just didn't care. Maybe you should submit a bug report to them instead? _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev