mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
Issue #27539: Merge from 3.5.
This commit is contained in:
commit
0add84b9b8
4 changed files with 22 additions and 1 deletions
|
@ -460,10 +460,14 @@ class Fraction(numbers.Rational):
|
||||||
return Fraction(a._numerator ** power,
|
return Fraction(a._numerator ** power,
|
||||||
a._denominator ** power,
|
a._denominator ** power,
|
||||||
_normalize=False)
|
_normalize=False)
|
||||||
else:
|
elif a._numerator >= 0:
|
||||||
return Fraction(a._denominator ** -power,
|
return Fraction(a._denominator ** -power,
|
||||||
a._numerator ** -power,
|
a._numerator ** -power,
|
||||||
_normalize=False)
|
_normalize=False)
|
||||||
|
else:
|
||||||
|
return Fraction((-a._denominator) ** -power,
|
||||||
|
(-a._numerator) ** -power,
|
||||||
|
_normalize=False)
|
||||||
else:
|
else:
|
||||||
# A fractional power will generally produce an
|
# A fractional power will generally produce an
|
||||||
# irrational number.
|
# irrational number.
|
||||||
|
|
|
@ -356,6 +356,19 @@ class FractionTest(unittest.TestCase):
|
||||||
z = pow(F(-1), F(1, 2))
|
z = pow(F(-1), F(1, 2))
|
||||||
self.assertAlmostEqual(z.real, 0)
|
self.assertAlmostEqual(z.real, 0)
|
||||||
self.assertEqual(z.imag, 1)
|
self.assertEqual(z.imag, 1)
|
||||||
|
# Regression test for #27539.
|
||||||
|
p = F(-1, 2) ** 0
|
||||||
|
self.assertEqual(p, F(1, 1))
|
||||||
|
self.assertEqual(p.numerator, 1)
|
||||||
|
self.assertEqual(p.denominator, 1)
|
||||||
|
p = F(-1, 2) ** -1
|
||||||
|
self.assertEqual(p, F(-2, 1))
|
||||||
|
self.assertEqual(p.numerator, -2)
|
||||||
|
self.assertEqual(p.denominator, 1)
|
||||||
|
p = F(-1, 2) ** -2
|
||||||
|
self.assertEqual(p, F(4, 1))
|
||||||
|
self.assertEqual(p.numerator, 4)
|
||||||
|
self.assertEqual(p.denominator, 1)
|
||||||
|
|
||||||
def testMixedArithmetic(self):
|
def testMixedArithmetic(self):
|
||||||
self.assertTypedEquals(F(11, 10), F(1, 10) + 1)
|
self.assertTypedEquals(F(11, 10), F(1, 10) + 1)
|
||||||
|
|
|
@ -218,6 +218,7 @@ Katherine Busch
|
||||||
Ralph Butler
|
Ralph Butler
|
||||||
Laurent De Buyst
|
Laurent De Buyst
|
||||||
Zach Byrne
|
Zach Byrne
|
||||||
|
Vedran Čačić
|
||||||
Nicolas Cadou
|
Nicolas Cadou
|
||||||
Jp Calderone
|
Jp Calderone
|
||||||
Arnaud Calmettes
|
Arnaud Calmettes
|
||||||
|
|
|
@ -38,6 +38,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #27539: Fix unnormalised ``Fraction.__pow__`` result in the case
|
||||||
|
of negative exponent and negative base.
|
||||||
|
|
||||||
- Issue #21718: cursor.description is now available for queries using CTEs.
|
- Issue #21718: cursor.description is now available for queries using CTEs.
|
||||||
|
|
||||||
- Issue #27819: In distutils sdists, simply produce the "gztar" (gzipped tar
|
- Issue #27819: In distutils sdists, simply produce the "gztar" (gzipped tar
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue