msg66586 - (view) |
Author: duane Bailey (duaneb) |
Date: 2008-05-10 21:09 |
There appears to be most of the formatting options in the *printf
family... except for the obvious %f. Why is this crucial option missing?
|
msg68509 - (view) |
Author: Ricardo Quesada (riq) |
Date: 2008-06-21 16:04 |
Do you expect to have support for float, double and long double ?
Also, do you expect to have support for precision-modifiers ?
|
msg68523 - (view) |
Author: duane Bailey (duaneb) |
Date: 2008-06-21 17:42 |
Well, precision modifiers would be nice, but I don't think that they're
necessarily needed. General floating point support, however, is needed.
|
msg68552 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2008-06-21 23:21 |
Attached is a patch attempting to provide support for %f with precision in PyString_FromFormat* based on file Objects/stringobject.c of Python 2.6b1.
Note, only %f is support but %lf is not and silently ignored.
|
msg68596 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2008-06-22 23:47 |
Attached is another patch for file Objects/stringobject.c(relative to
Python 2.6b1) which supports the double %f and long double %LF formats.
However, %Lf is included only if symbol LDBL_DIG is defined in header
file <float.h> on the underlying platform.
This patch also handles the long and size_t flags correctly in the first
loop to determine the size of the buffer under
...
case 'd': case 'u': case 'i': case 'x':
...
Btw, it does not make sense to handle float since there is not formnat
specification for floats.
|
msg68597 - (view) |
Author: Facundo Batista (facundobatista) *  |
Date: 2008-06-22 23:58 |
Jean, you can increase *hugely* the possibility of this being accepted
if you submit a comprehensive suite test for this.
Thanks!!
|
msg68609 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2008-06-23 05:24 |
Another rev of the patch now including updates to 2 documentation files:
Doc/c-api/exceptions.rst and Doc/c-api/string.rst. As before the patch is
relative to the source of Python 2.6b1.
Where should test cases for the new formats in the PyString_FromFormat*
and PyErr_Format functions be added?
|
msg68610 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2008-06-23 06:08 |
The tests for PyString_FromFormat are in file Modules/_testcapimodule.c.
Attached is yet another update of the patch, this one also includes 3
tests for the new %f format specification added to file
Modules/_testcapimodule.c.
|
msg68691 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2008-06-24 15:47 |
Here is another patch for PyString_FromFormat* adding support for 'l' and
'z' type specifications for the '%x' format and an optional '#' to prepend
'0x' to the hex result. In addition, the '%p' format is handled as '%#x'.
Updates for the c-api tests and the documentation for exceptions and
string are also included in the patch.
Like before, the patch is a forward delta to the files of Python 2.6b1.
|
msg87617 - (view) |
Author: Eric V. Smith (eric.smith) *  |
Date: 2009-05-12 12:26 |
From the code:
/* assume %f produces at most (L)DBL_DIG
digits before and after the decimal
point, plus the latter plus a sign */
This is not correct. DBL_DIG is 15 on my x86 Linux machine.
printf("%.*f\n", DBL_DIG, 1e20) produces a string that's 37 characters
long. It might be best to use PyOS_double_to_string instead of snprintf,
although we don't support long double there. I'm not sure long double
support is all that important in practice (for Python), though.
It would be easier to review this if the %p change weren't also
included. That's looks like a good change, but it's a separate issue.
unicodeobject.c should also be modified. In 3.x, it's unicodeobject.c
and bytesobject.c that need to work.
|
msg87671 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2009-05-13 10:01 |
I also think it would be good to use PyOS_double_to_string here. That
does make it impossible to format long doubles, though, except by doing
a possibly lossy conversion to double first.
As far as I can see, Python doesn't use long double anywhere outside the
ctypes module, so I'm not sure that long double support really matters
right now.
|
msg110633 - (view) |
Author: Mark Lawrence (BreamoreBoy) * |
Date: 2010-07-18 11:15 |
Jean, do you intend taking this issue any further or can it be closed?
|
msg110634 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2010-07-18 11:17 |
I'll take a look at this.
|
msg110668 - (view) |
Author: Jean Brouwers (MrJean1) |
Date: 2010-07-18 17:25 |
Mark L,
No, I do not intend to take this issue further. Rather the opposite, it should probably be paired down based on the recent comments. Specifically, use PyOS_double_to_string, remove support for long double and perhaps more.
Also, the patches I created are more than 2 years old and will need to be updated against the current stringobject.c code. There are quite a few changes in the 2.7 version of that file since early 2.6.
|
msg110673 - (view) |
Author: Mark Lawrence (BreamoreBoy) * |
Date: 2010-07-18 19:24 |
Closing as Jean has no interest in keeping it open.
|
msg110715 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2010-07-19 06:56 |
Jean may have no interest in moving this forward, but I do. (Which is why I assigned the issue to me.)
|
msg174027 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2012-10-28 10:35 |
Okay, I've failed to take this forward. Reclosing as out of date.
|
|
Date |
User |
Action |
Args |
2022-04-11 14:56:34 | admin | set | github: 47062 |
2012-10-28 10:35:12 | mark.dickinson | set | status: open -> closed resolution: out of date messages:
+ msg174027
|
2011-11-19 16:35:46 | mark.dickinson | set | versions:
+ Python 3.3, - Python 2.7, Python 3.2 |
2010-07-19 06:56:47 | mark.dickinson | set | status: closed -> open resolution: out of date -> (no value) messages:
+ msg110715
|
2010-07-18 19:24:30 | BreamoreBoy | set | status: open -> closed resolution: out of date messages:
+ msg110673
|
2010-07-18 17:25:23 | MrJean1 | set | messages:
+ msg110668 |
2010-07-18 11:17:29 | mark.dickinson | set | assignee: mark.dickinson messages:
+ msg110634 |
2010-07-18 11:15:26 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages:
+ msg110633
|
2009-05-13 10:01:47 | mark.dickinson | set | messages:
+ msg87671 |
2009-05-12 12:26:35 | eric.smith | set | nosy:
+ mark.dickinson messages:
+ msg87617
|
2009-05-12 04:03:05 | ajaksu2 | set | priority: normal nosy:
+ eric.smith versions:
+ Python 2.7, Python 3.2, - Python 2.6, Python 2.5, Python 2.4, Python 2.3, Python 2.2.3, Python 2.2.2, Python 2.2.1, Python 2.2, Python 2.1.2, Python 2.1.1, Python 3.0
stage: patch review |
2008-06-24 15:47:17 | MrJean1 | set | files:
+ stringobject_format_xLf.patch messages:
+ msg68691 |
2008-06-23 06:08:54 | MrJean1 | set | files:
- stringobject_format_Lf.patch |
2008-06-23 06:08:31 | MrJean1 | set | files:
+ stringobject_format_Lf.patch messages:
+ msg68610 |
2008-06-23 05:24:58 | MrJean1 | set | files:
- stringobject_format_Lf.patch |
2008-06-23 05:24:38 | MrJean1 | set | files:
+ stringobject_format_Lf.patch messages:
+ msg68609 |
2008-06-22 23:58:07 | facundobatista | set | nosy:
+ facundobatista messages:
+ msg68597 |
2008-06-22 23:52:24 | MrJean1 | set | files:
+ stringobject_format_Lf.patch |
2008-06-22 23:50:12 | MrJean1 | set | files:
- stringobject_format_Lf.patch |
2008-06-22 23:47:26 | MrJean1 | set | files:
+ stringobject_format_Lf.patch messages:
+ msg68596 |
2008-06-21 23:34:26 | MrJean1 | set | files:
+ stringobject_format_f.patch |
2008-06-21 23:33:29 | MrJean1 | set | files:
- stringobject_format_f.patch |
2008-06-21 23:21:43 | MrJean1 | set | files:
+ stringobject_format_f.patch keywords:
+ patch messages:
+ msg68552 nosy:
+ MrJean1 |
2008-06-21 17:42:16 | duaneb | set | messages:
+ msg68523 |
2008-06-21 16:04:56 | riq | set | nosy:
+ riq messages:
+ msg68509 |
2008-05-10 21:09:06 | duaneb | create | |