[Python-Dev] number-sig anyone?

Guido van Rossum guido@zope.com
Thu, 26 Jul 2001 11:38:18 -0400


> The danger I see here is that Scheme's "numeric tower" is almost obviously a
> reasonable numeric model, but in practice is so vague that you can't really
> count on anything beyond simple small-int arithmetic working the same way
> across Scheme implementations.

I certainly expect that we'll be able to do better than Scheme in our
cross-implementation semantics -- Scheme is infamous for this.

> Guido appears to have come to an
> appreciation of that model in the abstract, but hoping that there's not much
> difference between floats and rationals in practice "because they represent
> the same mathematical values" just isn't going to pan out (IMO).  1/49*49
> equals 1 or it doesn't; it doesn't using IEEE doubles, it does using
> rationals, and the difference will be significant to programs.  Certainly
> better to switch from floats to rationals someday than to move in the other
> direction, though.

Indeed, my only assumption is that switching from floats to rationals
shouldn't be very disruptive.  In my ideal numeric model, rationals
auto-convert to floats but not the other way around, and str() and
repr() of rationals would yield a decimal floating point
representation similar to that of floats.  (This is more or less what
ABC did, except that for floats it added an annoying "~" as
inexactness indicator.)  To get a rational to print as x/y, you'd have
to extract the numerator and denominator explicitly, or use some
standard method.

> I've come to suspect the issues *may& be complicated <wink>.

Sure.

--Guido van Rossum (home page: http://www.python.org/~guido/)