[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: infinities reformulated



======= At 2005-05-26, 11:19:48 Aubrey Jaffer wrote: =======

> | >  The interpretation of real infinities is that 1/0 represents real
> | >  numbers greater than can be encoded by finite inexacts in the
> | >  implementation (> 179.76931348623158e306 for IEEE-754 64-bit
> | >  flonums) and that -1/0 represents numbers less than can be encoded
> | >  by finite inexacts in the implementation (< -179.76931348623158e306
> | >  for IEEE-754 64-bit flonums).
> | 
> | What if an implementation supports arbitrary big real numbers?
>
>That is an excellent question which will require some thought.
>
>Transcendental functions can return irrational numbers which cannot be
>distinguished from each other when represented by finite length
>decimal strings.  Thus the precision of an inexact (or exact) number
>representation cannot be unlimited.
>
>But exponent size does not suffer from the same limitation.  An
>inexact number representation with big exponents will never overflow
>into an infinity.  Infinities will result only from operations on
>infinities or limit points.  Thus there would be no continuity between
>the rational flonums and infinities; which bodes poorly for LIMIT.
>
>Do any Scheme implementations have inexact big-exponent-flonums?
>

MACLISP is the closest answer. It has exactly what you said and
called it bigfloats. I searched and find that Perl also implements
bigfloat as a library.

And your statement "the precision of an inexact (or exact) number
representation cannot be unlimited" is wrong. For example, Mathematica
implements "unlimited precision number", although it may have some
flaws.

As a SRFI or R?RS, you must ALLOW some implementation to implement
arbitrary big real numbers.

-
Chongkai Zhu