[Top][All Lists]

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

Re: [Gcl-devel] some GCL bugs revealed by ansi test suite

From: Vadim V. Zhytnikov
Subject: Re: [Gcl-devel] some GCL bugs revealed by ansi test suite
Date: Fri, 16 Aug 2002 01:07:30 +0300
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.0.0) Gecko/20020526

Camm Maguire пишет:

"Vadim V. Zhytnikov" <address@hidden> writes:


I'd like to report some GCL bugs revealed during
clocc ansi compatibility tests.  The list is
very far from being complete and problem ranges
from very simple bugs to some quite general
problems which require modification in many many

First, a couple of very simple bugs:

1)  (make-array 5 :fill-pointer -1)
must signal an error for any negative value
of :fill-pointer.

Done.  Please verify.

2)  The built-in constant


returns symbol (another constant)


as its value but should return
numerical value (probably the same as
value of array-dimension-limit).

Done.  Please verify.

3) The path designator #P"aaa" (capital P)
result in error but should not be different
from #p"aaa".

Done.  Please verify.

Now some more serious problems. ANSI tests
clocc suite report really huge number of
errors with floating point operations.
Here is some short extract from error log:


Umm -- clearly the AKCL numbers below are right, and the 'should be'
are wrong, no?  I can even see this in my head :-).  Are the tests
using 'legacy' broken values as the expected return?

Bugid: :NUMBER-LEGACY-2938 interpreted Form: (+ 0.52019S0 0.98203S0)
Should be: 1.50223S0
AKCL: 1.50222S0

Bugid: :NUMBER-LEGACY-2942 interpreted Form: (+ 0.026268S0 0.6137S0)
Should be: 0.63997S0
AKCL: 0.639968S0

Bugid: :NUMBER-LEGACY-2946 interpreted Form: (+ -0.338943S0 0.450523S0)
Should be: 0.11158S0
AKCL: 0.11158S0

Bugid: :NUMBER-LEGACY-2950 interpreted Form: (+ -0.032799S0 0.995186S0)
Should be: 0.96239S0
AKCL: 0.962387S0

Frankly I don't quite understand how to treat these
results. Are they really bugs? Clisp and cmucl
seems to be OK...

Could you please give me some lisp showing this?

Another similar result which is reported as bug:
1e-37     ->  1.0000000000000001E-37
10.0e-38  ->  9.9999999999999986E-38

One thing confised me a bit with all these floating
point results.  Target values (Should be:) seems to
be exactly like in clisp.  I also checked few examples
with cmucl and once again got these "Should be" values.
Originally I thought that such deltas in least significant
digits are not important for floating point operations
but with such observation started wondering what maybe
I'm wrong (I'm not a floating point expert).
But after some more extensive check I see that all lisps
(clisp, cmucl, sbcl, ecls) give slightly different values.
So probably we have nothing to worry about.

Best wishes,

     Vadim V. Zhytnikov


reply via email to

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