Floating Point Objects

PyFloatObject

This subtype of PyObject represents a Python floating point object.

PyTypeObject PyFloat_Type

This instance of PyTypeObject represents the Python floating point type. This is the same object as float and types.FloatType.

int PyFloat_Check(PyObject *p)

Return true if its argument is a PyFloatObject or a subtype of PyFloatObject.

Changed in version 2.2: Allowed subtypes to be accepted.

int PyFloat_CheckExact(PyObject *p)

Return true if its argument is a PyFloatObject, but not a subtype of PyFloatObject.

New in version 2.2.

PyObject* PyFloat_FromString(PyObject *str, char **pend)
Return value: New reference.

Create a PyFloatObject object based on the string value in str, or NULL on failure. The pend argument is ignored. It remains only for backward compatibility.

PyObject* PyFloat_FromDouble(double v)
Return value: New reference.

Create a PyFloatObject object from v, or NULL on failure.

double PyFloat_AsDouble(PyObject *pyfloat)

Return a C double representation of the contents of pyfloat. If pyfloat is not a Python floating point object but has a __float__() method, this method will first be called to convert pyfloat into a float. This method returns -1.0 upon failure, so one should call PyErr_Occurred() to check for errors.

double PyFloat_AS_DOUBLE(PyObject *pyfloat)

Return a C double representation of the contents of pyfloat, but without error checking.

PyObject* PyFloat_GetInfo(void)

Return a structseq instance which contains information about the precision, minimum and maximum values of a float. It’s a thin wrapper around the header file float.h.

New in version 2.6.

double PyFloat_GetMax()

Return the maximum representable finite float DBL_MAX as C double.

New in version 2.6.

double PyFloat_GetMin()

Return the minimum normalized positive float DBL_MIN as C double.

New in version 2.6.

int PyFloat_ClearFreeList()

Clear the float free list. Return the number of items that could not be freed.

New in version 2.6.

void PyFloat_AsString(char *buf, PyFloatObject *v)

Convert the argument v to a string, using the same rules as str(). The length of buf should be at least 100.

This function is unsafe to call because it writes to a buffer whose length it does not know.

Deprecated since version 2.7: Use PyObject_Str() or PyOS_double_to_string() instead.

void PyFloat_AsReprString(char *buf, PyFloatObject *v)

Same as PyFloat_AsString, except uses the same rules as repr(). The length of buf should be at least 100.

This function is unsafe to call because it writes to a buffer whose length it does not know.

Deprecated since version 2.7: Use PyObject_Repr() or PyOS_double_to_string() instead.