Message253096
...
def forward(a, b):
if isinstance(b, (int, Fraction)):
return monomorphic_operator(a, b)
elif isinstance(b, float):
return fallback_operator(float(a), b)
elif isinstance(b, complex):
return fallback_operator(complex(a), b)
else:
return NotImplemented
forward.__name__ = '__' + fallback_operator.__name__ + '__'
forward.__doc__ = monomorphic_operator.__doc__
def reverse(b, a):
if isinstance(a, numbers.Rational):
# Includes ints.
return monomorphic_operator(a, b)
elif isinstance(a, numbers.Real):
return fallback_operator(float(a), float(b))
elif isinstance(a, numbers.Complex):
return fallback_operator(complex(a), complex(b))
else:
return NotImplemented
...
so division is possible only with int, Fraction, float, complex, numbers.Rational, numbers.Real, numbers.Complex.
For all of them "isinstance(b, numbers.Complex)" is true |
|
Date |
User |
Action |
Args |
2015-10-16 20:44:21 | ShashkovS | set | recipients:
+ ShashkovS, mark.dickinson, vstinner, oscarbenjamin |
2015-10-16 20:44:21 | ShashkovS | set | messageid: <1445028261.63.0.295951081114.issue25412@psf.upfronthosting.co.za> |
2015-10-16 20:44:21 | ShashkovS | link | issue25412 messages |
2015-10-16 20:44:21 | ShashkovS | create | |
|