Greetings!
"Vadim V. Zhytnikov" <address@hidden> writes:
Hi!
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
places.
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
array-total-size-limit
returns symbol (another constant)
array-dimension-limit
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