source: python/trunk/Doc/c-api/float.rst

Last change on this file was 391, checked in by dmik, 11 years ago

python: Merge vendor 2.7.6 to trunk.

  • Property svn:eol-style set to native
File size: 3.3 KB
RevLine 
[2]1.. highlightlang:: c
2
3.. _floatobjects:
4
5Floating 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.
Note: See TracBrowser for help on using the repository browser.