New submission from Francesco Biscani:
The C++11/C99 standards define a complex infinity as a complex number in which
at least one of the components is inf. Consider the Python snippet:
>>> complex(float('inf'),float('nan'))*2
(nan+nanj)
This happens because com
Francesco Biscani added the comment:
The best reference I could find so far is in the C99 standard:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
Annex G is titled "IEC 60559-compatible complex arithmetic". In G.3.1 it is
written:
"""
A complex or imag
Francesco Biscani added the comment:
Hi Mark,
the original code is C++, and the inf + nanj result can be reproduced by the
following snippet:
"""
#include
#include
int main(int argc, char * argv[]) {
std::cout << std::complex(3,0) / 0. << '\n';
ret
Francesco Biscani added the comment:
@Mark
Yes I understand that this is a thorny issue. I was kinda hoping NumPy would
just forward complex arithmetic to the underlying C implementation, but
apparently that's not the case (which OTOH makes sense as the use of C99
complex numbers is not