[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

Mark H Weaver scripsit:

> My point is that your ComplexRepresentation page states that Guile and
> Racket do not support complex numbers of mixed exactness, but that's not
> quite true.  There is one important special case of mixed exactness that
> *is* supported in Guile, Racket, Ikarus, and perhaps others.

In that case, *every* Scheme that supports inexact reals at all, a priori
supports complex numbers of mixed exactness such that the imag-part is 0.
This is true a priori, and so doesn't belong on the ImplementationContrast
pages, which are about empirical differences between Schemes.

Or is what you mean that some Schemes, when asked for the imag-part of
2.0, may return 0.0 rather than 0?  I can check for that possibility
when I'm back home.

> Another test that would be worthwhile is this:
>   (list (eqv? +0.0 -0.0)
>         (eqv? (make-rectangular +0.0  1.0)
>               (make-rectangular -0.0  1.0))
>         (eqv? (make-rectangular  1.0 +0.0)
>               (make-rectangular  1.0 -0.0))
> I wouldn't be surprised if some Schemes distinguish signed zeroes in the
> real part but not in the imaginary part.  If an implementation discards
> inexact zero imaginary parts, then it probably discards the sign as well
> as the exactness.

I'll try that.

Dream projects long deferred             John Cowan <cowan@x>
usually bite the wax tadpole.            http://www.ccil.org/~cowan
        --James Lileks

Scheme-reports mailing list