[2] | 1 | .. highlightlang:: c
|
---|
| 2 |
|
---|
| 3 | .. _floatobjects:
|
---|
| 4 |
|
---|
| 5 | Floating Point Objects
|
---|
| 6 | ----------------------
|
---|
| 7 |
|
---|
| 8 | .. index:: object: floating point
|
---|
| 9 |
|
---|
| 10 |
|
---|
[391] | 11 | .. c:type:: PyFloatObject
|
---|
[2] | 12 |
|
---|
[391] | 13 | This subtype of :c:type:`PyObject` represents a Python floating point object.
|
---|
[2] | 14 |
|
---|
| 15 |
|
---|
[391] | 16 | .. c:var:: PyTypeObject PyFloat_Type
|
---|
[2] | 17 |
|
---|
| 18 | .. index:: single: FloatType (in modules types)
|
---|
| 19 |
|
---|
[391] | 20 | This instance of :c:type:`PyTypeObject` represents the Python floating point
|
---|
[2] | 21 | type. This is the same object as ``float`` and ``types.FloatType``.
|
---|
| 22 |
|
---|
| 23 |
|
---|
[391] | 24 | .. c:function:: int PyFloat_Check(PyObject *p)
|
---|
[2] | 25 |
|
---|
[391] | 26 | Return true if its argument is a :c:type:`PyFloatObject` or a subtype of
|
---|
| 27 | :c:type:`PyFloatObject`.
|
---|
[2] | 28 |
|
---|
| 29 | .. versionchanged:: 2.2
|
---|
| 30 | Allowed subtypes to be accepted.
|
---|
| 31 |
|
---|
| 32 |
|
---|
[391] | 33 | .. c:function:: int PyFloat_CheckExact(PyObject *p)
|
---|
[2] | 34 |
|
---|
[391] | 35 | Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype of
|
---|
| 36 | :c:type:`PyFloatObject`.
|
---|
[2] | 37 |
|
---|
| 38 | .. versionadded:: 2.2
|
---|
| 39 |
|
---|
| 40 |
|
---|
[391] | 41 | .. c:function:: PyObject* PyFloat_FromString(PyObject *str, char **pend)
|
---|
[2] | 42 |
|
---|
[391] | 43 | Create a :c:type:`PyFloatObject` object based on the string value in *str*, or
|
---|
[2] | 44 | *NULL* on failure. The *pend* argument is ignored. It remains only for
|
---|
| 45 | backward compatibility.
|
---|
| 46 |
|
---|
| 47 |
|
---|
[391] | 48 | .. c:function:: PyObject* PyFloat_FromDouble(double v)
|
---|
[2] | 49 |
|
---|
[391] | 50 | Create a :c:type:`PyFloatObject` object from *v*, or *NULL* on failure.
|
---|
[2] | 51 |
|
---|
| 52 |
|
---|
[391] | 53 | .. c:function:: double PyFloat_AsDouble(PyObject *pyfloat)
|
---|
[2] | 54 |
|
---|
[391] | 55 | Return a C :c:type:`double` representation of the contents of *pyfloat*. If
|
---|
[2] | 56 | *pyfloat* is not a Python floating point object but has a :meth:`__float__`
|
---|
| 57 | method, this method will first be called to convert *pyfloat* into a float.
|
---|
[391] | 58 | This method returns ``-1.0`` upon failure, so one should call
|
---|
| 59 | :c:func:`PyErr_Occurred` to check for errors.
|
---|
[2] | 60 |
|
---|
| 61 |
|
---|
[391] | 62 | .. c:function:: double PyFloat_AS_DOUBLE(PyObject *pyfloat)
|
---|
[2] | 63 |
|
---|
[391] | 64 | Return a C :c:type:`double` representation of the contents of *pyfloat*, but
|
---|
[2] | 65 | without error checking.
|
---|
| 66 |
|
---|
| 67 |
|
---|
[391] | 68 | .. c:function:: PyObject* PyFloat_GetInfo(void)
|
---|
[2] | 69 |
|
---|
| 70 | Return a structseq instance which contains information about the
|
---|
| 71 | precision, minimum and maximum values of a float. It's a thin wrapper
|
---|
| 72 | around the header file :file:`float.h`.
|
---|
| 73 |
|
---|
| 74 | .. versionadded:: 2.6
|
---|
| 75 |
|
---|
| 76 |
|
---|
[391] | 77 | .. c:function:: double PyFloat_GetMax()
|
---|
[2] | 78 |
|
---|
[391] | 79 | Return the maximum representable finite float *DBL_MAX* as C :c:type:`double`.
|
---|
[2] | 80 |
|
---|
| 81 | .. versionadded:: 2.6
|
---|
| 82 |
|
---|
| 83 |
|
---|
[391] | 84 | .. c:function:: double PyFloat_GetMin()
|
---|
[2] | 85 |
|
---|
[391] | 86 | Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`.
|
---|
[2] | 87 |
|
---|
| 88 | .. versionadded:: 2.6
|
---|
| 89 |
|
---|
| 90 |
|
---|
[391] | 91 | .. c:function:: int PyFloat_ClearFreeList()
|
---|
[2] | 92 |
|
---|
| 93 | Clear the float free list. Return the number of items that could not
|
---|
| 94 | be freed.
|
---|
| 95 |
|
---|
| 96 | .. versionadded:: 2.6
|
---|
[391] | 97 |
|
---|
| 98 |
|
---|
| 99 | .. c:function:: void PyFloat_AsString(char *buf, PyFloatObject *v)
|
---|
| 100 |
|
---|
| 101 | Convert the argument *v* to a string, using the same rules as
|
---|
| 102 | :func:`str`. The length of *buf* should be at least 100.
|
---|
| 103 |
|
---|
| 104 | This function is unsafe to call because it writes to a buffer whose
|
---|
| 105 | length it does not know.
|
---|
| 106 |
|
---|
| 107 | .. deprecated:: 2.7
|
---|
| 108 | Use :func:`PyObject_Str` or :func:`PyOS_double_to_string` instead.
|
---|
| 109 |
|
---|
| 110 |
|
---|
| 111 | .. c:function:: void PyFloat_AsReprString(char *buf, PyFloatObject *v)
|
---|
| 112 |
|
---|
| 113 | Same as PyFloat_AsString, except uses the same rules as
|
---|
| 114 | :func:`repr`. The length of *buf* should be at least 100.
|
---|
| 115 |
|
---|
| 116 | This function is unsafe to call because it writes to a buffer whose
|
---|
| 117 | length it does not know.
|
---|
| 118 |
|
---|
| 119 | .. deprecated:: 2.7
|
---|
| 120 | Use :func:`PyObject_Repr` or :func:`PyOS_double_to_string` instead.
|
---|