Hello *,
There is a new testsuite failure in maxima-5.39.0 compiled with ecl-16.1.3:
Running tests in rtest16: ********************** Problem 561 (line 2153) *************** Input: 2 - %pi ev(closeto(li (1.0 %i) - (------ + %i 0.915965594177219), 1.3878e-16), numer) 2 48
Result: error-catch
This differed from the expected result: true
612/613 tests passed
With ecl-16.1.2 there were no unexpected failures in the maxima testsuite.
Andrey
Hey,
I have already tested with Maxima, see: https://gitlab.com/embeddable-common-lisp/ecl/issues/307 . ECL doesn't accept denormals by default now, I suspect that this is the main cause of this error (but I didn't know how to investigate maxima problems further – i.e what error was cought). To ignore all fpe signals issue:
(si:trap-fpe t nil)
to turn off some of them, do:
(si:trap-fpe :floating-point-overflow nil) (si:trap-fpe :division-by-zero nil) (si:trap-fpe :floating-point-invalid-operation nil) (si:trap-fpe :floating-point-inexact nil) (si:trap-fpe :floating-point-underflow nil)
second argument is whenever this particular exception should be signalled, or simply ignored – NIL means "ignore".
Best regards, Daniel
Andrey G. Grozin writes:
Hello *,
There is a new testsuite failure in maxima-5.39.0 compiled with ecl-16.1.3:
Running tests in rtest16: ********************** Problem 561 (line 2153) *************** Input: 2 - %pi ev(closeto(li (1.0 %i) - (------ + %i 0.915965594177219), 1.3878e-16), numer) 2 48
Result: error-catch
This differed from the expected result: true
612/613 tests passed
With ecl-16.1.2 there were no unexpected failures in the maxima testsuite.
Andrey
On Mon, Dec 19, 2016 at 02:17:52PM +0100, Daniel Kochmański wrote:
I have already tested with Maxima, see: https://gitlab.com/embeddable-common-lisp/ecl/issues/307 . ECL doesn't accept denormals by default now, I suspect that this is the main cause of this error (but I didn't know how to investigate maxima problems further – i.e what error was cought).
Trying to evaluate this in Maxima built with ECL 16.1.3 leads to this error:
(%i1) li[2](1.0*%i); Condition of type: DIVISION-BY-ZERO
I built ECL 16.1.2 and 16.1.3 from sources on my 64-bit Linux box. It looks like the problem comes down to this:
On ECL 16.1.2:
(log #c(0.0 -1.0))
#C(0.0 -1.5707964)
(log #c(-0.0 -1.0))
#C(0.0 -1.5707964)
while on 16.1.3:
(log #c(0.0 -1.0))
#C(0.0 -1.5707964)
(log #c(-0.0 -1.0))
Condition of type: DIVISION-BY-ZERO
Cheers, Kris Katterjohn
Hey,
Thank you for narrowing this down! I've added an issue to gitlab:
https://gitlab.com/embeddable-common-lisp/ecl/issues/329
Best regards, Daniel
This wasn't a regression, just reinforcing fpe shown already existing problem in atan function. The problem is fixed in the develop branch.