Floating-Point Objects

type PyFloatObject

This subtype of PyObject represents a Python floating-point object.

PyTypeObject PyFloat_Type
Part of the Stable ABI.

This instance of PyTypeObject represents the Python floating-point type. This is the same object as float in the Python layer.

int PyFloat_Check(PyObject *p)

Return true if its argument is a PyFloatObject or a subtype of PyFloatObject. This function always succeeds.

int PyFloat_CheckExact(PyObject *p)

Return true if its argument is a PyFloatObject, but not a subtype of PyFloatObject. This function always succeeds.

PyObject *PyFloat_FromString(PyObject *str)
Return value: New reference. Part of the Stable ABI.

Create a PyFloatObject object based on the string value in str, or NULL on failure.

PyObject *PyFloat_FromDouble(double v)
Return value: New reference. Part of the Stable ABI.

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

double PyFloat_AsDouble(PyObject *pyfloat)
Part of the Stable ABI.

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. If __float__() is not defined then it falls back to __index__(). This method returns -1.0 upon failure, so one should call PyErr_Occurred() to check for errors.

Changed in version 3.8: Use __index__() if available.

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 value: New reference. Part of the Stable ABI.

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.

double PyFloat_GetMax()
Part of the Stable ABI.

Return the maximum representable finite float DBL_MAX as C double.

double PyFloat_GetMin()
Part of the Stable ABI.

Return the minimum normalized positive float DBL_MIN as C double.

Py_INFINITY

This macro expands to a constant expression of type double, that represents the positive infinity.

It is equivalent to the INFINITY macro from the C11 standard <math.h> header.

Soft deprecated since version 3.15.

Py_NAN

This macro expands to a constant expression of type double, that represents a quiet not-a-number (qNaN) value.

On most platforms, this is equivalent to the NAN macro from the C11 standard <math.h> header.

Py_HUGE_VAL

Equivalent to INFINITY.

Soft deprecated since version 3.14.

Py_MATH_E

The definition (accurate for a double type) of the math.e constant.

Py_MATH_El

High precision (long double) definition of e constant.

Deprecated since version 3.15, will be removed in version 3.20.

Py_MATH_PI

The definition (accurate for a double type) of the math.pi constant.

Py_MATH_PIl

High precision (long double) definition of pi constant.

Deprecated since version 3.15, will be removed in version 3.20.

Py_MATH_TAU

The definition (accurate for a double type) of the math.tau constant.

Added in version 3.6.

Py_RETURN_NAN

Return math.nan from a function.

On most platforms, this is equivalent to return PyFloat_FromDouble(NAN).

Py_RETURN_INF(sign)

Return math.inf or -math.inf from a function, depending on the sign of sign.

On most platforms, this is equivalent to the following:

return PyFloat_FromDouble(copysign