[plt-scheme] Error in SRFI 27

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Aug 15 07:13:46 EDT 2007

I think the problem is

 1. A ".zo" file produced on a 64-bit machine writes fixnum constants
    using at most 32 bits --- even if the fixnum doesn't fit into 32
    bits.

 2. A recent reconfiguration of our distribution server means that the
    ".zo" files for all platforms are generated on a 64-bit machine.

I'm not positive about 2, but I'm sure of 1, and I'm fixed that in SVN.

Matthew

At Tue, 14 Aug 2007 23:35:17 -0500, Chongkai Zhu wrote:
> The code of SRFI-27 haven't been changed for a long time. I just did 
> some test, and the bug seems to be in the compiler/JITer: If I remove 
> the .zo files, then everything works fine.
> 
> Chongkai
> 
> 
> Doug Williams wrote:
> > There seems to have been an error introduced into SRFI 27 sometime 
> > late in the V370 development leading up to V371.  The random reals 
> > generated by SRFI 27 all seem to be negative numbers in the range on 
> > -1.0e-8 to -1.0e-10 instead of 0 to 1.  The following code shows the 
> > problem.  In V370 it works properly giving numbers in the range 0.0 to 
> > 1.0.  When run under V370.7 or V371, it gives the bad numbers.
> >
> > (require (lib "27.ss" "srfi"))
> >
> > (let* ((r (make-random-source))
> >        (rand (random-source-make-reals r)))
> >   (do ((i 0 (+ i 1)))
> >       ((= i 100) (void))
> >     (printf "random real = ~a~n"
> >             (rand))))
> >
> > Doug
> > ------------------------------------------------------------------------
> >
> > _________________________________________________
> >   For list-related administrative tasks:
> >   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >   
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.