[NumPy-Tickets] [NumPy] #1500: isfinite, isinf macros raise invalid value fp error flag
NumPy Trac
numpy-tickets@scipy....
Thu Jun 3 12:10:08 CDT 2010
#1500: isfinite, isinf macros raise invalid value fp error flag
---------------------+------------------------------------------------------
Reporter: efiring | Owner: somebody
Type: defect | Status: new
Priority: low | Milestone: 2.0.0
Component: Other | Version:
Keywords: |
---------------------+------------------------------------------------------
In npy_math.h, if NPY_HAVE_DECL_ISFINITE is not defined, the macro that is
defined in place of a system-supplied macro works by generating a nan when
given an inf, and then using isnan to detect that case. This raises the
invalid value fp error flag, so every time numpy.isfinite encounters an
inf, a warning is printed by default. The situation is the same with
isinf. Here is the relevant code from npy_math.h:
{{{
#ifndef NPY_HAVE_DECL_ISFINITE
#define npy_isfinite(x) !npy_isnan((x) + (-x))
#else
#define npy_isfinite(x) isfinite((x))
#endif
#ifndef NPY_HAVE_DECL_ISINF
#define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x))
#else
#define npy_isinf(x) isinf((x))
#endif
}}}
The problem became evident because of a bug in setup.py: the
NPY_HAVE_DECL_ macros were not being generated. This was fixed in svn
8455, so now the problem will appear only on those (very rare?) platforms
that do not have their own isinf and isfinite.
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1500>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list