In arithmetic operations, if one of operands is a Fraction, and the other operand is a complex or a numbers.Complex, the fraction is implicitly converted to a complex. Third-party types implementing the numbers.Complex interface can distinguish between real and complex operands. In future we can support the mixed real-complex arithmetic also for the builtin complex type. A fraction is a real value, so it makes sense to convert it to float instead of complex in such cases.
Activity
pythongh-119838: Treat Fraction as a real value in mixed arithmetic o…
skirpichev commented on May 31, 2024
Then this change will make sense. Right now it contradicts to coercion rules for int/floats op complex.
PS: But thank you for reminding me that I should fix also the "complex op Fraction" case in my pr:)
Edit: After looking on the code, sorry - false alert.
mdickinson commented on Jun 2, 2024
+1
gh-119838: Treat Fraction as a real value in mixed arithmetic operati…
pythongh-119838: Treat Fraction as a real value in mixed arithmetic o…
pythongh-119838: Treat Fraction as a real value in mixed arithmetic o…
pythongh-119838: Treat Fraction as a real value in mixed arithmetic o…
pythongh-119838: Treat Fraction as a real value in mixed arithmetic o…