
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.
