gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] RE: GCL bugs (decode-float, rationalize, expt)


From: Mike Thomas
Subject: [Gcl-devel] RE: GCL bugs (decode-float, rationalize, expt)
Date: Mon, 6 Jan 2003 10:00:03 +1000

Hi Stavros, Camm.

> Mike, can you confirm/comment on the mingw crashes?

I get no crashes and as the comparison below shows, my results echo Camm's
exactly whether incorrect or not.  I assume Camm's were obtained from x86
Linux.

I suppose that at the bottom of all these problems is GMP - the crashes
probably depend on the CPU for which it was built as compared to the CPU on
which it is running or else the version of GMP used.

The current GCL uses a lowest common denominator CPU on x86 platforms and (I
believe) a newer version of GMP compared to GCL 2.3.6 which is probably why
it is not crashing.

The questions which come to my mind are:

Is your GCL self built?
  Me: yes - from CVS.  I don't have 2.3.6 at hand.

If yes, which gcc compiler are you using?
  Me: MinGW32 gcc version 3.2.1

If no, what is the date of your binary build?

What CPU have you got?
  Me: P4

What OS?
  Me: XP

I suggest you try the new binary build of Windows GCL and see what happens.

Cheers

Mike Thomas.

-------------------------------------------------------------
REPORT
> (rationalize 1.0e-300) => Illegal Instruction (CRASH)

MIKE
GCL (GNU Common Lisp)  Version(2.5.0) Mon Dec 30 13:56:10 EAST 2002
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter

Use (help) to get some basic information on how to use GCL.

>(rationalize 1.0e-300)

6032057205060441/60320572050604408488421245431577356770502522517485057817966
1506
4961622344493727293370973578138265743708225425014400837164813540499979063179
1059
1959776695102219335509170789603485068403905907918039678834910609558429008744
6076
4137714689404772415506707531455176029312243924240295474299938241298892351581
4561
4364972941312

CAMM
intech19:/fix/t2/camm/b/gcl$ gcl
GCL (GNU Common Lisp)  Version(2.5.0) Thu Dec  5 08:07:35 EST 2002
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter

>(rationalize 1.0e-300)

6032057205060441/60320572050604408488421245431577356770502522517485057817966
1506496162234449372729337097357813826574370822542501440083716481354049997906
3179105919597766951022193355091707896034850684039059079180396788349106095584
2900874460764137714689404772415506707531455176029312243924240295474299938241
29889235158145614364972941312

-------------------------------------------------------------
REPORT
>   (float (rationalize 1.0e-320)) =>
>      1.1125369292541007E-308

MIKE
>(float (rationalize 1.0e-320))

0.0

CAMM
>(float (rationalize 1.0e-320))

0.0

-------------------------------------------------------------
REPORT
>  (expt 10.0 -310) => 0.0 on both 2.3.6 and 2.5.0
>     1.0e-310 is a perfectly good number....

MIKE
>(expt 10.0 -310)

0.0

CAMM
>(expt 10.0 -310)

0.0

-------------------------------------------------------------
REPORT
>  (expt 10 -300) => Illegal Instruction (CRASH)

MIKE
>(expt 10 -300)

1/10000000000000000000000000000000000000000000000000000000000000000000000000
0000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000
000000000000000000000000000000000000000000000000000000000000000

CAMM
>(expt 10 -300)

1/10000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000

-------------------------------------------------------------
REPORT
  (decode-float 1.0e-300) => 0.72, -1022, 1.0

MIKE
>(decode-float 1.0e-300)

0.66969287949141709
-996
1.0

CAMM
>(decode-float 1.0e-300)

0.66969287949141709
-996
1.0

-------------------------------------------------------------
REPORT
  (decode-float 1.0e-320) => 0.50, -1022, 1.0

MIKE
>(decode-float 1.0e-320)

0.50000000000022471
-1022
1.0

CAMM
>(decode-float 1.0e-320)

0.50000000000022471
-1022
1.0

-------------------------------------------------------------
REPORT
>  (integer-decode-float 1.0) =>
     Illegal Instruction (CRASH)

MIKE
>(integer-decode-float 1.0)

4503599627370496
-52
1

CAMM
>(integer-decode-float 1.0)

4503599627370496
-52
1







reply via email to

[Prev in Thread] Current Thread [Next in Thread]