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.
