annotate Include/floatobject.h @ 49955:878d40468c4e legacy-trunk

Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
author Vinay Sajip <vinay_sajip@yahoo.co.uk>
date Wed, 03 Dec 2008 23:22:58 +0000
parents 0738119c1ef8
children 1d8f24d40c2c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
853b736a6a9e Added copyright notice.
Guido van Rossum <guido@python.org>
parents: 6
diff changeset
1
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 /* Float object interface */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 /*
2129
05360cd616ae The great renaming, phase two: all header files have been updated to
Guido van Rossum <guido@python.org>
parents: 2058
diff changeset
5 PyFloatObject represents a (double precision) floating point number.
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
13444
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
8 #ifndef Py_FLOATOBJECT_H
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
9 #define Py_FLOATOBJECT_H
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
10 #ifdef __cplusplus
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
11 extern "C" {
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
12 #endif
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
13
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 typedef struct {
13444
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
15 PyObject_HEAD
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
16 double ob_fval;
2129
05360cd616ae The great renaming, phase two: all header files have been updated to
Guido van Rossum <guido@python.org>
parents: 2058
diff changeset
17 } PyFloatObject;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
19 PyAPI_DATA(PyTypeObject) PyFloat_Type;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
19550
19d271f297dc Make the PyXXX_Check() macros for the numeric types inheritance-aware.
Guido van Rossum <guido@python.org>
parents: 17707
diff changeset
21 #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
44350
26384b8180c7 #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available.
Christian Heimes <christian@cheimes.de>
parents: 44262
diff changeset
22 #define PyFloat_CheckExact(op) (Py_TYPE(op) == &PyFloat_Type)
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23
46473
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
24 #ifdef Py_NAN
46476
a1997399f872 Stupid me. Py_RETURN_NAN should actually return something ...
Christian Heimes <christian@cheimes.de>
parents: 46473
diff changeset
25 #define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
46473
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
26 #endif
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
27
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
28 #define Py_RETURN_INF(sign) do \
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
29 if (copysign(1., sign) == 1.) { \
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
30 return PyFloat_FromDouble(Py_HUGE_VAL); \
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
31 } else { \
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
32 return PyFloat_FromDouble(-Py_HUGE_VAL); \
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
33 } while(0)
5bc7b20dc04a I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents: 45143
diff changeset
34
44085
c218d1ac916e Feature #1534
Christian Heimes <christian@cheimes.de>
parents: 42333
diff changeset
35 PyAPI_FUNC(double) PyFloat_GetMax(void);
c218d1ac916e Feature #1534
Christian Heimes <christian@cheimes.de>
parents: 42333
diff changeset
36 PyAPI_FUNC(double) PyFloat_GetMin(void);
c218d1ac916e Feature #1534
Christian Heimes <christian@cheimes.de>
parents: 42333
diff changeset
37 PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void);
c218d1ac916e Feature #1534
Christian Heimes <christian@cheimes.de>
parents: 42333
diff changeset
38
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
39 /* Return Python float from string PyObject. Second argument ignored on
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
40 input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
41 purpose once but can't be made to work as intended). */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
42 PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
43
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
44 /* Return Python float from C double. */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
45 PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
46
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
47 /* Extract C double from Python float. The macro version trades safety for
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
48 speed. */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
49 PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *);
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
50 #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
51
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
52 /* Write repr(v) into the char buffer argument, followed by null byte. The
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
53 buffer must be "big enough"; >= 100 is very safe.
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
54 PyFloat_AsReprString(buf, x) strives to print enough digits so that
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
55 PyFloat_FromString(buf) then reproduces x exactly. */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
56 PyAPI_FUNC(void) PyFloat_AsReprString(char*, PyFloatObject *v);
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
57
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
58 /* Write str(v) into the char buffer argument, followed by null byte. The
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
59 buffer must be "big enough"; >= 100 is very safe. Note that it's
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
60 unusual to be able to get back the float you started with from
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
61 PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
62 preserve precision across conversions. */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
63 PyAPI_FUNC(void) PyFloat_AsString(char*, PyFloatObject *v);
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
64
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
65 /* _PyFloat_{Pack,Unpack}{4,8}
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
66 *
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
67 * The struct and pickle (at least) modules need an efficient platform-
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
68 * independent way to store floating-point values as byte strings.
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
69 * The Pack routines produce a string from a C double, and the Unpack
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
70 * routines produce a C double from such a string. The suffix (4 or 8)
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
71 * specifies the number of bytes in the string.
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
72 *
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
73 * On platforms that appear to use (see _PyFloat_Init()) IEEE-754 formats
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
74 * these functions work by copying bits. On other platforms, the formats the
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
75 * 4- byte format is identical to the IEEE-754 single precision format, and
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
76 * the 8-byte format to the IEEE-754 double precision format, although the
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
77 * packing of INFs and NaNs (if such things exist on the platform) isn't
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
78 * handled correctly, and attempting to unpack a string containing an IEEE
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
79 * INF or NaN will raise an exception.
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
80 *
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
81 * On non-IEEE platforms with more precision, or larger dynamic range, than
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
82 * 754 supports, not all values can be packed; on non-IEEE platforms with less
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
83 * precision, or smaller dynamic range, not all values can be unpacked. What
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
84 * happens in such cases is partly accidental (alas).
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
85 */
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
86
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
87 /* The pack routines write 4 or 8 bytes, starting at p. le is a bool
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
88 * argument, true if you want the string in little-endian format (exponent
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
89 * last, at p+3 or p+7), false if you want big-endian format (exponent
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
90 * first, at p).
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
91 * Return value: 0 if all is OK, -1 if error (and an exception is
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
92 * set, most likely OverflowError).
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
93 * There are two problems on non-IEEE platforms:
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
94 * 1): What this does is undefined if x is a NaN or infinity.
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
95 * 2): -0.0 and +0.0 produce the same string.
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
96 */
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
97 PyAPI_FUNC(int) _PyFloat_Pack4(double x, unsigned char *p, int le);
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
98 PyAPI_FUNC(int) _PyFloat_Pack8(double x, unsigned char *p, int le);
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
99
44262
24749a380409 Backport of r59456:59458 from py3k to trunk
Christian Heimes <christian@cheimes.de>
parents: 44085
diff changeset
100 /* Used to get the important decimal digits of a double */
24749a380409 Backport of r59456:59458 from py3k to trunk
Christian Heimes <christian@cheimes.de>
parents: 44085
diff changeset
101 PyAPI_FUNC(int) _PyFloat_Digits(char *buf, double v, int *signum);
24749a380409 Backport of r59456:59458 from py3k to trunk
Christian Heimes <christian@cheimes.de>
parents: 44085
diff changeset
102 PyAPI_FUNC(void) _PyFloat_DigitsInit(void);
24749a380409 Backport of r59456:59458 from py3k to trunk
Christian Heimes <christian@cheimes.de>
parents: 44085
diff changeset
103
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
104 /* The unpack routines read 4 or 8 bytes, starting at p. le is a bool
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
105 * argument, true if the string is in little-endian format (exponent
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
106 * last, at p+3 or p+7), false if big-endian (exponent first, at p).
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
107 * Return value: The unpacked double. On error, this is -1.0 and
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
108 * PyErr_Occurred() is true (and an exception is set, most likely
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
109 * OverflowError). Note that on a non-IEEE platform this will refuse
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
110 * to unpack a string that represents a NaN or infinity.
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
111 */
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
112 PyAPI_FUNC(double) _PyFloat_Unpack4(const unsigned char *p, int le);
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
113 PyAPI_FUNC(double) _PyFloat_Unpack8(const unsigned char *p, int le);
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
114
45143
8fdd6d62ea55 Patch #1953
Christian Heimes <christian@cheimes.de>
parents: 44350
diff changeset
115 /* free list api */
47897
0738119c1ef8 - Issue #2862: Make int and float freelist management consistent with other
Gregory P. Smith <greg@mad-scientist.com>
parents: 47392
diff changeset
116 PyAPI_FUNC(int) PyFloat_ClearFreeList(void);
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
117
47392
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
118 /* Format the object based on the format_spec, as defined in PEP 3101
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
119 (Advanced String Formatting). */
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
120 PyAPI_FUNC(PyObject *) _PyFloat_FormatAdvanced(PyObject *obj,
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
121 char *format_spec,
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
122 Py_ssize_t format_spec_len);
47ef9a806ce9 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46476
diff changeset
123
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
124 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
125 }
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
126 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
127 #endif /* !Py_FLOATOBJECT_H */