Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
a7f0dffb
Commit
a7f0dffb
authored
Mar 12, 2011
by
Mark Dickinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge #11131
parents
e858bca3
37a79fb7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
8 deletions
+84
-8
Lib/decimal.py
Lib/decimal.py
+11
-8
Lib/test/decimaltestdata/extra.decTest
Lib/test/decimaltestdata/extra.decTest
+70
-0
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/decimal.py
View file @
a7f0dffb
...
...
@@ -1045,14 +1045,16 @@ class Decimal(object):
if
ans
:
return
ans
if
not
self
:
# -Decimal('0') is Decimal('0'), not Decimal('-0')
if
context
is
None
:
context
=
getcontext
()
if
not
self
and
context
.
rounding
!=
ROUND_FLOOR
:
# -Decimal('0') is Decimal('0'), not Decimal('-0'), except
# in ROUND_FLOOR rounding mode.
ans
=
self
.
copy_abs
()
else
:
ans
=
self
.
copy_negate
()
if
context
is
None
:
context
=
getcontext
()
return
ans
.
_fix
(
context
)
def
__pos__
(
self
,
context
=
None
):
...
...
@@ -1065,14 +1067,15 @@ class Decimal(object):
if
ans
:
return
ans
if
not
self
:
# + (-0) = 0
if
context
is
None
:
context
=
getcontext
()
if
not
self
and
context
.
rounding
!=
ROUND_FLOOR
:
# + (-0) = 0, except in ROUND_FLOOR rounding mode.
ans
=
self
.
copy_abs
()
else
:
ans
=
Decimal
(
self
)
if
context
is
None
:
context
=
getcontext
()
return
ans
.
_fix
(
context
)
def
__abs__
(
self
,
round
=
True
,
context
=
None
):
...
...
Lib/test/decimaltestdata/extra.decTest
View file @
a7f0dffb
...
...
@@ -2745,3 +2745,73 @@ pwmx437 power 17 1728 1729 -> 1
pwmx438 power 18 1728 1729 -> 1
pwmx439 power 19 1728 1729 -> 456
pwmx440 power 20 1728 1729 -> 1
-- plus and minus zero in various rounding modes (see issue 11131)
extended: 1
precision: 9
maxexponent: 384
minexponent: -383
rounding: half_even
plux1000 plus 0.0 -> 0.0
plux1001 plus -0.0 -> 0.0
minx1000 minus 0.0 -> 0.0
minx1001 minus -0.0 -> 0.0
absx1000 abs 0.0 -> 0.0
absx1001 abs -0.0 -> 0.0
rounding: half_up
plux1010 plus 0.0 -> 0.0
minx1010 minus 0.0 -> 0.0
plux1011 plus -0.0 -> 0.0
minx1011 minus -0.0 -> 0.0
absx1010 abs 0.0 -> 0.0
absx1011 abs -0.0 -> 0.0
rounding: ceiling
plux1020 plus 0.0 -> 0.0
minx1020 minus 0.0 -> 0.0
plux1021 plus -0.0 -> 0.0
minx1021 minus -0.0 -> 0.0
absx1020 abs 0.0 -> 0.0
absx1021 abs -0.0 -> 0.0
rounding: floor
plux1030 plus 0.0 -> 0.0
minx1030 minus 0.0 -> -0.0
plux1031 plus -0.0 -> -0.0
minx1031 minus -0.0 -> 0.0
absx1030 abs 0.0 -> 0.0
absx1031 abs -0.0 -> 0.0
rounding: down
plux1040 plus 0.0 -> 0.0
minx1040 minus 0.0 -> 0.0
plux1041 plus -0.0 -> 0.0
minx1041 minus -0.0 -> 0.0
absx1040 abs 0.0 -> 0.0
absx1041 abs -0.0 -> 0.0
rounding: up
plux1050 plus 0.0 -> 0.0
minx1050 minus 0.0 -> 0.0
plux1051 plus -0.0 -> 0.0
minx1051 minus -0.0 -> 0.0
absx1050 abs 0.0 -> 0.0
absx1051 abs -0.0 -> 0.0
rounding: half_down
plux1060 plus 0.0 -> 0.0
minx1060 minus 0.0 -> 0.0
plux1061 plus -0.0 -> 0.0
minx1061 minus -0.0 -> 0.0
absx1060 abs 0.0 -> 0.0
absx1061 abs -0.0 -> 0.0
rounding: 05up
plux1070 plus 0.0 -> 0.0
minx1070 minus 0.0 -> 0.0
plux1071 plus -0.0 -> 0.0
minx1071 minus -0.0 -> 0.0
absx1070 abs 0.0 -> 0.0
absx1071 abs -0.0 -> 0.0
Misc/NEWS
View file @
a7f0dffb
...
...
@@ -34,6 +34,9 @@ Core and Builtins
Library
-------
-
Issue
#
11131
:
Fix
sign
of
zero
in
decimal
.
Decimal
plus
and
minus
operations
when
the
rounding
mode
is
ROUND_FLOOR
.
-
Issue
#
5622
:
Fix
curses
.
wrapper
to
raise
correct
exception
if
curses
initialization
fails
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment