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

Re: [Scheme-reports] Strong win later reversed: Real numbers have imaginary part #e0

On Mon, Dec 24, 2012 at 3:25 PM, Mark H Weaver <mhw@x> wrote:
Alex Shinn <alexshinn@x> writes:

> On Mon, Dec 24, 2012 at 7:51 AM, Mark H Weaver <mhw@x> wrote:
>     What external representation will you use for these numbers?  For
>     example, even if you can efficiently handle something like this:
>       (do ((i 10000000 (- i 1))
>            (x 1e300 (expt x x)))
>           ((zero? i) (/ x)))
>     What will you do if someone applies 'number->string' to the
>     result?
> It will use Conway's chained arrow notation, as mentioned
> in my previous mail.
> What you're describing here is just tetration:
>   (tetrate 1e300 100000000)

That's not quite right, but anyway the precise value of this number is
not relevant to my point.  My question was about how such numbers would
be printed, and your answer was that it might look something like this:

>   1/1e300->1e7->2

My point is that the results of ordinary inexact numerical computations
that are printed 0.0 on virtually every other system will apparently be
printed in a non-standard notation in future Chibi.

Yes, precisely, where normal implementations will produce
+inf.0 or -0.0, chibi will produce finite non-zero values.

In all other cases, numbers in chibi will be normalized to
produce the same output as other implementations.  Thus
the difference only arises when IEEE has already
over/underflowed and is giving infinitely incorrect values.
This is purely a win.


Scheme-reports mailing list