Thanks.

This is weird.  The C and Fortran versions seem to agree.

Marco




On Thu, Nov 9, 2023 at 9:49 PM Frank Gönninger | Gönninger B&T <
frank.goennin...@goenninger.net> wrote:

> Hi Marco,
>
>
>
> on AllegroCL 11.0 beta Enterprise Edition I get diverging results starting
> at j = 21…
>
>
>
> Lisp: j = 21; ss = 0.00028959847986698150
>
> C:      j = 21; ss = 0.00028959847986698151
>
>
>
> FWIW …
>
>
>
> Best,
>
>    Frank
>
>
>
> *Von: *<owner-lisp-...@lispworks.com> im Auftrag von "Marco Antoniotti
> (as marco dot antoniotti at unimib dot it)" <lisp-...@lispworks.com>
> *Antworten an: *Marco Antoniotti <marco.antonio...@unimib.it>
> *Datum: *Donnerstag, 9. November 2023 um 21:23
> *An: *LispWorks <lisp-...@lispworks.com>, Discussion list for Common Lisp
> professionals <pro@common-lisp.net>
> *Betreff: *Help with bit bashing code: differences between C and CL
>
>
>
> Dear all,
>
>
>
> I am hitting a wall with the attached code in CL and C versions.  For
> those interested, this is code lifted from Knuth's pages on random number
> generation (https://www-cs-faculty.stanford.edu/~knuth/programs.html#rng).
>
> The problem is that there is a discrepancy in the "problem" loop between
> the CL and the C and I cannot figure out why, although the culprit may be
> that CL does not have "proper" 64 bits ints.
>
> I am running on LW 8.x on an Intel Mac.  I have not tried on other CL
> implementations/platforms. I compile the C code with clang (Apple clang
> version 15.0.0 (clang-1500.0.40.1)
>
>
>
> If you run the code, you will see that the discrepancy appears at 'j = 14'
> in the loop.
>
>
>
> What gives?
>
> Thanks
>
> Marco
>
>
>
>
>
>
> --
>
> Marco Antoniotti, Professor                  tel. +39 - 02 64 48 79 01
> DISCo, Università Milano Bicocca U14 2043    http://dcb.disco.unimib.it
> Viale Sarca 336
> I-20126 Milan (MI) ITALY
>

Reply via email to