annotate Include/floatobject.h @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents d63a80abfbec
children
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
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
14 #ifndef Py_LIMITED_API
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 typedef struct {
13444
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
16 PyObject_HEAD
5709ddba423c ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
17 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
18 } PyFloatObject;
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
19 #endif
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 19839
diff changeset
21 PyAPI_DATA(PyTypeObject) PyFloat_Type;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
19550
19d271f297dc Make the PyXXX_Check() macros for the numeric types inheritance-aware.
Guido van Rossum <guido@python.org>
parents: 17707
diff changeset
23 #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
44351
86a2679dca46 #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
Christian Heimes <christian@cheimes.de>
parents: 44260
diff changeset
24 #define PyFloat_CheckExact(op) (Py_TYPE(op) == &PyFloat_Type)
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
46477
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45145
diff changeset
26 #ifdef Py_NAN
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45145
diff changeset
27 #define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45145
diff changeset
28 #endif
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45145
diff changeset
29
72504
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
30 #define Py_RETURN_INF(sign) do \
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
31 if (copysign(1., sign) == 1.) { \
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
32 return PyFloat_FromDouble(Py_HUGE_VAL); \
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
33 } else { \
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
34 return PyFloat_FromDouble(-Py_HUGE_VAL); \
950678c769e6 Clean up a few tabs that went in with PEP393.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 72475
diff changeset
35 } while(0)
46477
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45145
diff changeset
36
44086
110ff614ec28 Merged revisions 59245-59254 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42334
diff changeset
37 PyAPI_FUNC(double) PyFloat_GetMax(void);
110ff614ec28 Merged revisions 59245-59254 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42334
diff changeset
38 PyAPI_FUNC(double) PyFloat_GetMin(void);
110ff614ec28 Merged revisions 59245-59254 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42334
diff changeset
39 PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void);
110ff614ec28 Merged revisions 59245-59254 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42334
diff changeset
40
41229
1f843890a4e6 Remove the deprecated and useless "pend" argument from
Georg Brandl <georg@python.org>
parents: 40527
diff changeset
41 /* Return Python float from string PyObject. */
1f843890a4e6 Remove the deprecated and useless "pend" argument from
Georg Brandl <georg@python.org>
parents: 40527
diff changeset
42 PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*);
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 *);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
50 #ifndef Py_LIMITED_API
17707
fe4c1034b480 SF bug #422177: Results from .pyc differs from .py
Tim Peters <tim.peters@gmail.com>
parents: 14375
diff changeset
51 #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
52 #endif
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
54 #ifndef Py_LIMITED_API
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
55 /* _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
56 *
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
57 * 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
58 * 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
59 * 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
60 * 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
61 * 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
62 *
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
63 * 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
64 * 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
65 * 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
66 * 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
67 * 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
68 * 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
69 * INF or NaN will raise an exception.
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
70 *
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
71 * 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
72 * 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
73 * 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
74 * 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
75 */
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
76
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
77 /* 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
78 * 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
79 * 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
80 * 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
81 * 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
82 * set, most likely OverflowError).
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
83 * There are two problems on non-IEEE platforms:
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 28335
diff changeset
84 * 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
85 * 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
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 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
88 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
89
40527
195f689af5af Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
Neal Norwitz <nnorwitz@gmail.com>
parents: 34972
diff changeset
90 /* Needed for the old way for marshal to store a floating point number.
195f689af5af Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
Neal Norwitz <nnorwitz@gmail.com>
parents: 34972
diff changeset
91 Returns the string length copied into p, -1 on error.
195f689af5af Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
Neal Norwitz <nnorwitz@gmail.com>
parents: 34972
diff changeset
92 */
195f689af5af Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
Neal Norwitz <nnorwitz@gmail.com>
parents: 34972
diff changeset
93 PyAPI_FUNC(int) _PyFloat_Repr(double x, char *p, size_t len);
195f689af5af Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
Neal Norwitz <nnorwitz@gmail.com>
parents: 34972
diff changeset
94
44260
682d9788a038 Issue #1580: New free format floating point representation based on "Floating-Point Printer Sample Code", by Robert G. Burger. For example repr(11./5) now returns '2.2' instead of '2.2000000000000002'.
Christian Heimes <christian@cheimes.de>
parents: 44086
diff changeset
95 /* Used to get the important decimal digits of a double */
682d9788a038 Issue #1580: New free format floating point representation based on "Floating-Point Printer Sample Code", by Robert G. Burger. For example repr(11./5) now returns '2.2' instead of '2.2000000000000002'.
Christian Heimes <christian@cheimes.de>
parents: 44086
diff changeset
96 PyAPI_FUNC(int) _PyFloat_Digits(char *buf, double v, int *signum);
682d9788a038 Issue #1580: New free format floating point representation based on "Floating-Point Printer Sample Code", by Robert G. Burger. For example repr(11./5) now returns '2.2' instead of '2.2000000000000002'.
Christian Heimes <christian@cheimes.de>
parents: 44086
diff changeset
97 PyAPI_FUNC(void) _PyFloat_DigitsInit(void);
682d9788a038 Issue #1580: New free format floating point representation based on "Floating-Point Printer Sample Code", by Robert G. Burger. For example repr(11./5) now returns '2.2' instead of '2.2000000000000002'.
Christian Heimes <christian@cheimes.de>
parents: 44086
diff changeset
98
28335
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
99 /* 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
100 * 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
101 * 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
102 * 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
103 * 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
104 * 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
105 * 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
106 */
70003b0cb837 New private API functions _PyFloat_{Pack,Unpack}(4,8}. This is a
Tim Peters <tim.peters@gmail.com>
parents: 24752
diff changeset
107 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
108 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
109
45145
3d7b84daa34a Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552-60567 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44351
diff changeset
110 /* free list api */
48499
de0bf60f1245 Merged revisions 64722,64729,64753,64845-64846,64849,64871,64880-64882,64885,64888,64897,64900-64901,64915,64926-64929,64938-64941,64944,64961,64966,64973 via svnmerge from
Georg Brandl <georg@python.org>
parents: 48364
diff changeset
111 PyAPI_FUNC(int) PyFloat_ClearFreeList(void);
45145
3d7b84daa34a Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552-60567 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44351
diff changeset
112
77577
d63a80abfbec Issue #14785: Add sys._debugmallocstats() to help debug low-level memory allocation issues
David Malcolm <dmalcolm@redhat.com>
parents: 77223
diff changeset
113 PyAPI_FUNC(void) _PyFloat_DebugMallocStats(FILE* out);
d63a80abfbec Issue #14785: Add sys._debugmallocstats() to help debug low-level memory allocation issues
David Malcolm <dmalcolm@redhat.com>
parents: 77223
diff changeset
114
47393
0da27fdf0192 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46477
diff changeset
115 /* Format the object based on the format_spec, as defined in PEP 3101
0da27fdf0192 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46477
diff changeset
116 (Advanced String Formatting). */
77223
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
117 PyAPI_FUNC(int) _PyFloat_FormatAdvancedWriter(
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
118 _PyUnicodeWriter *writer,
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
119 PyObject *obj,
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
120 PyObject *format_spec,
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
121 Py_ssize_t start,
22b56b0b8619 Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
Victor Stinner <victor.stinner@gmail.com>
parents: 72504
diff changeset
122 Py_ssize_t end);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 63750
diff changeset
123 #endif /* Py_LIMITED_API */
47393
0da27fdf0192 Refactor and clean up str.format() code (and helpers) in advance of optimizations.
Eric Smith <eric@trueblade.com>
parents: 46477
diff changeset
124
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
125 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
126 }
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
127 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
128 #endif /* !Py_FLOATOBJECT_H */