Raymond Hettinger wrote: > Was some thought given to possibly adding these as > float methods instead of as separate functions? > > float.isinf() > float.isnan() > > Also, it would be useful to have a new method, float.is_integer(). This > would be better than the current approach where we make the > test: if x == floor(x).
No, I haven't thought about it. I could add isinf (or better is_inf?) to the float type but the methods in the math and cmath module should stay as well. They can also deal with complex and integer numbers. +1 for is_integer static PyObject * float_is_integer(PyObject *v) { double x = PyFloat_AsDouble(v); PyObject *o; if (x == -1.0 && PyErr_Occurred()) return NULL; if (!Py_IS_FINITE(x)) Py_RETURN_FALSE; PyFPE_START_PROTECT("is_integer", return 0) o = (floor(x) == x) ? Py_True : Py_False; PyFPE_END_PROTECT(x) if (errno != 0) { PyErr_SetFromErrno(errno == ERANGE ? PyExc_OverflowError : PyExc_ValueError); return NULL; } Py_INCREF(o); return o; } Christian _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com