[Numpy-discussion] isinf raises in inf
Pauli Virtanen
pav@iki...
Fri Jul 16 03:27:14 CDT 2010
Thu, 15 Jul 2010 19:09:15 -0600, Charles R Harris wrote:
[clip]
> PS, of course we should fix the macro also. Since the bit values of +/-
> infinity are known we should be able to define them as constants using a
> couple of ifdefs and unions.
We already do that, NPY_INFINITY and -NPY_INFINITY.
[clip]
> int
> (isinf)(double x)
> {
> if ((-1.0 < x) && (x < 1.0)) /* x is small, and thus finite */
> return (0);
> else if ((x + x) == x) /* only true if x == Infinity */
> return (1);
> else /* must be finite (normal or subnormal), or NaN */
> return (0);
> }
This function can generate overflows, for example for
x = 0.6 * np.finfo(np.float64).max
--
Pauli Virtanen
More information about the NumPy-Discussion
mailing list