rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

?great mishandles box #2638

Closed rtoy closed 2 months ago

rtoy commented 2 months ago

Imported from SourceForge on 2024-07-06 17:08:48 Created by macrakis on 2018-01-22 20:37:15 Original: https://sourceforge.net/p/maxima/bugs/3390


?great(box(x+t),-box(x+t)) => true ?great(-box(x+t),box(x+t)) => true

It should never be true that ?great(x,y)=?great(y,x)=true if x#y

This bug causes the following bug: sin(box(x+t)) => stack overflow

The solution (for now at least) is to remove these two lines from great:

((member (caar x) '(mbox mlabox) :test #'eq) (great (cadr x) y))
((member (caar y) '(mbox mlabox) :test #'eq) (great x (cadr y)))

If I remember correctly, I added those lines a long time ago thinking it was trivially obvious that they were correct. :-(

This also fixes bug 2012 Lisp stack overflow with dpart

rtoy commented 2 months ago

Imported from SourceForge on 2024-07-06 17:08:50 Created by robert_dodier on 2018-01-26 06:23:42 Original: https://sourceforge.net/p/maxima/bugs/3390/#6c05


rtoy commented 2 months ago

Imported from SourceForge on 2024-07-06 17:08:53 Created by robert_dodier on 2018-01-26 06:23:42 Original: https://sourceforge.net/p/maxima/bugs/3390/#aa2c


I've applied the bug fix as commit 1aec495. Closing this report as fixed.