Sorry for the confusion:
when I wrote the PEP, I was thinking in terms of a Python, duck-typed implementation.
Now that it's in C, that doesn't work so well.
I will update the PEP to indicate that it is float-only, or complex for the cmath implementation (thanks, Tal!).
Any other type will be converted to float if possible, with the limitations that that has.
As for Decimal -- the "right" thing to do would be to do a native Decimal implementation -- but that would live in the decimal module, maybe as a method on the Decimal type. (or stand alone -- not sure)
Fraction doesn't have the same precision issues as floats, so not sure what the point is. |