Antoine Pitrou
c83ea137d7
Untabify C files. Will watch buildbots.
2010-05-09 14:46:46 +00:00
Brett Cannon
a8ac944924
Add back in a line that was unneeded which advanced a pointer, but commented
...
out as it is currently unneeded.
This effectively adds back in the line removed in r80809 as a comment.
2010-05-06 17:56:36 +00:00
Brett Cannon
6f38175cbc
Remove an unneeded variable increment.
...
Found using Clang's static analyzer.
2010-05-05 20:16:09 +00:00
Ezio Melotti
bce3e17bd2
#7482 : clarify error message in case of division by zero of float and complex numbers.
2010-02-22 16:30:58 +00:00
Mark Dickinson
99d652ef66
Issue #7534 : Fix handling of nans, infinities, and negative zero in **
...
operator, on IEEE 754 platforms. Thanks Marcos Donolo for original patch.
2009-12-30 12:12:23 +00:00
Mark Dickinson
31f0cfef0e
Include ieeefp.h (when available) in pyport.h instead of individually in
...
Objects/floatobject.c and Objects/complexobject.c. This should silence
compiler warnings about implicit declaration of the 'finite' function
on Solaris.
2009-11-28 12:30:36 +00:00
Mark Dickinson
bd15a06fd3
Issue #7117 , continued: Change round implementation to use the correctly-rounded
...
string <-> float conversions; this makes sure that the result of the round
operation is correctly rounded, and hence displays nicely using the new float
repr.
2009-11-18 19:33:35 +00:00
Mark Dickinson
8568b19850
Issue #7117 : Use PyOS_string_to_double instead of PyOS_ascii_strtod in
...
floatobject.c. Also, remove limitation on length of unicode inputs to
float().
2009-10-26 21:11:20 +00:00
Eric Smith
cfaf79c56e
Start to remove _PyOS_double_to_string, as mentioned in issue 7117.
2009-10-26 14:48:55 +00:00
Eric Smith
8c3fb39440
Removed unused function PyFloat_AsStringEx. It is unused in floatobject.c, and it's not declared in any .h file.
2009-10-24 19:50:44 +00:00
Eric Smith
b327258d4f
Removed usage of unsafe PyFloat_AsString.
2009-10-16 14:26:36 +00:00
Benjamin Peterson
bf9ec9ba67
add underscores
2009-06-16 23:13:09 +00:00
Mark Dickinson
b1d45856c2
Issue #5981 : Fix some float.fromhex bugs related to inf and nan handling.
2009-05-11 15:33:08 +00:00
Eric Smith
a985a3aee4
Issue #5920 : Changed format.__float__ and complex.__float__ to use a precision of 12 when using the empty presentation type. This more closely matches str()'s behavior and reduces surprises when adding alignment flags to an empty format string. Patch by Mark Dickinson.
2009-05-05 18:26:08 +00:00
Mark Dickinson
777e4ff503
Eliminate some locale-dependent calls to isspace and tolower.
2009-05-03 20:59:48 +00:00
Mark Dickinson
df108ca324
Remove format_float and use _PyOS_double_to_string instead.
2009-04-29 21:56:53 +00:00
Mark Dickinson
6d6b220215
Backport r71967 changes from py3k to trunk.
...
(Internal plumbing changes for float parsing.)
2009-04-26 16:04:05 +00:00
Eric Smith
068f06568b
Issue #5835 , deprecate PyOS_ascii_formatd.
...
If anyone wants to clean up the documentation, feel free. It's my first documentation foray, and it's not that great.
Will port to py3k with a different strategy.
2009-04-25 21:40:15 +00:00
Benjamin Peterson
99d36f1563
call __float__ on str subclasses #5759
...
tests by R. David Murray
2009-04-15 21:26:36 +00:00
Andrew M. Kuchling
bd7c4ca569
Use correct capitalization of NaN
2008-10-04 01:02:29 +00:00
Andrew MacIntyre
8c47cabbe9
should use macro'ed symbols not direct
...
Part of source_os2emx.patch in issue 3868
Reviewed by Amaury Forgeot d'Arc
2008-09-22 14:10:54 +00:00
Amaury Forgeot d'Arc
d3ffb8974f
#3777 : long(4.2) returned an int, and broke backward compatibility.
...
the __long__ slot is allowed to return either int or long, but the behaviour of
float objects should not change between 2.5 and 2.6.
Reviewed by Benjamin Peterson
2008-09-09 07:24:30 +00:00
Mark Dickinson
5c2bb1a7d4
issue 3633: Solaris allows fullwidth Unicode digits in isxdigit, so
...
rewrite float.fromhex to only allow ASCII hex digits on all platforms.
(Tests for this are already present, but the test_float failures
on Solaris hadn't been noticed before.)
Reviewed by Antoine Pitrou.
2008-08-21 21:38:38 +00:00
Mark Dickinson
7103aa42c0
Issue #3008 : add instance method float.hex and class method float.fromhex
...
to convert floats to and from hexadecimal strings respectively.
2008-07-15 19:08:33 +00:00
Gregory P. Smith
2fe77060eb
- Issue #2862 : Make int and float freelist management consistent with other
...
freelists. Changes their CompactFreeList apis into ClearFreeList apis and
calls them via gc.collect().
2008-07-06 03:35:58 +00:00
Mark Dickinson
bf9f4d8015
Issue 3188: accept float('infinity') as well as float('inf'). This
...
makes the float constructor behave in the same way as specified
by various other language standards, including C99, IEEE 754r,
and the IBM Decimal standard.
2008-07-05 11:33:52 +00:00
Raymond Hettinger
9c437af4eb
Revert 64424, 64438, and 64439.
2008-06-24 22:46:07 +00:00
Hye-Shik Chang
30fa13f3a0
Fix build on FreeBSD gcc.
2008-06-21 11:15:30 +00:00
Raymond Hettinger
e0e711446b
Issue 3008: hex/oct/bin can show floats exactly.
2008-06-21 06:39:53 +00:00
Gregory P. Smith
dd96db63f6
This reverts r63675 based on the discussion in this thread:
...
http://mail.python.org/pipermail/python-dev/2008-June/079988.html
Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
2008-06-09 04:58:54 +00:00
Eric Smith
dc13b79a38
Refactor and clean up str.format() code (and helpers) in advance of optimizations.
2008-05-30 18:10:04 +00:00
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Mark Dickinson
e81c376080
Issue #2801 : fix bug in float.is_integer where ValueError
...
could be incorrectly raised. This is a backport of the
Py3k fix in r62939. (Should really have been fixed
in the trunk first and svnmerged into py3k.)
2008-05-09 16:14:15 +00:00
Christian Heimes
6f34109384
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.
...
The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :)
2008-04-18 23:13:07 +00:00
Neal Norwitz
9fdfaaf9af
Fix compiler warning about finite() missing on Solaris.
2008-03-28 05:34:59 +00:00
Neal Norwitz
c0a56ff908
Pluralss only need one s, not 2 (intss -> ints)
2008-03-27 06:52:01 +00:00
Mark Dickinson
c23b8a7af9
Issue 705836: Fix struct.pack(">f", 1e40) to behave consistently
...
across platforms: it should now raise OverflowError on all
platforms. (Previously it raised OverflowError only on
non IEEE 754 platforms.)
Also fix the (already existing) test for this behaviour
so that it actually raises TestFailed instead of just
referencing it.
2008-03-14 14:23:37 +00:00
Eric Smith
a9f7d62480
Backport of PEP 3101, Advanced String Formatting, from py3k.
...
Highlights:
- Adding PyObject_Format.
- Adding string.Format class.
- Adding __format__ for str, unicode, int, long, float, datetime.
- Adding builtin format.
- Adding ''.format and u''.format.
- str/unicode fixups for formatters.
The files in Objects/stringlib that implement PEP 3101 (stringdefs.h,
unicodedefs.h, formatter.h, string_format.h) are identical in trunk
and py3k. Any changes from here on should be made to trunk, and
changes will propogate to py3k).
2008-02-17 19:46:49 +00:00
Christian Heimes
422051a367
Patch #1953
...
I implemented the function sys._compact_freelists() and C API functions PyInt_/PyFloat_CompactFreeList() to compact the pre-allocated blocks of ints and floats. They allow the user to reduce the memory usage of a Python process that deals with lots of numbers.
The patch also renames sys._cleartypecache to sys._clear_type_cache
2008-02-04 18:00:12 +00:00
Raymond Hettinger
2d1aa3350a
Simpler solution to handling non-IEEE 754 environments.
2008-02-02 05:11:40 +00:00
Raymond Hettinger
f9859037fc
Add protection from weirdness while scaling the mantissa to an integer.
2008-02-01 23:45:44 +00:00
Raymond Hettinger
1bcb99a9cb
Fix int/long typecase. Add check for non-binary floating point.
2008-02-01 23:12:19 +00:00
Raymond Hettinger
ffc667cbd5
labs() takes a long for an input.
2008-02-01 22:22:50 +00:00
Raymond Hettinger
c9e928ae0f
Integer ratio should return ints instead of longs whereever possible.
2008-02-01 22:15:52 +00:00
Raymond Hettinger
04c96d52a4
Issue #1996 : float.as_integer_ratio() should return fraction in lowest terms.
2008-02-01 21:30:23 +00:00
Christian Heimes
796fc31585
The previous change was causing a segfault after multiple calls to Py_Initialize() and Py_Finalize().
2008-01-30 18:58:29 +00:00
Christian Heimes
0d9244332b
Fixed some references leaks in sys.
2008-01-30 17:21:22 +00:00
Jeffrey Yasskin
3ea7b41b58
Moved Rational._binary_float_to_ratio() to float.as_integer_ratio() because
...
it's useful outside of rational numbers.
This is my first C code that had to do anything significant. Please be more
careful when looking over it.
2008-01-27 23:08:46 +00:00
Neal Norwitz
5f95a79b2b
Add prototypes to get the mathmodule.c to compile on OSF1 5.1 (Tru64)
...
and eliminate a compiler warning in floatobject.c. There might be
a better way to go about this, but it should be good enough for now.
2008-01-25 08:04:16 +00:00
Christian Heimes
c94e2b5c12
Now that I've learnt about structseq objects I felt like converting sys.float_info to a structseq. It's
...
readonly and help(sys.float_info) explains the attributes nicely.
2008-01-14 04:13:37 +00:00