Bug report ID:2960403 "spurious floats in asksign"



Am Dienstag, den 09.03.2010, 12:14 -0500 schrieb Raymond Toy:
> On 3/8/10 1:05 PM, Dieter Kaiser wrote:
> > As reported on sourceforge.net it seems that the revision 1.18 of
> > db.lisp has introduced the problem of the bug report ID:2960403
> > "spurious floats in asksign". The changes of revision 1.18 have not
> > intended to change anything, but they do. I have no idea what it is the
> > problem.
> >   
> Rev 1.18 says it made things easier to read.   Changing some special
> variables to use the *foo* convention is nice, but otherwise it doesn't
> seem any easier to read to me. :-(
> 
> I know where the 0.25 comes from[1], but it seems that that is what's
> supposed to happen.  I haven't figured out why that 0.25 gets propagated
> but it does.
> > Perhaps, it is the best to go back to revision 1.17 and then to put in
> > again the changes up to revision 1.23. I have not much experience with
> >   
> Unless we can figure it out, I agree that reverting to 1.17 is probably
> the right thing.  Like Robert says, cvs probably won't really help with
> putting back the other changes.  1.18 changed too much to make the later
> revisions easily patchable.  It has to be done the hard way.


I have already prepared the work and I try to go step by step from
revision 1.17 to 1.23.


> [1]  The 0.25 comes from signdiff in compar.lisp, in the second cond
> clause that runs (numer rhs)  where rhs is ((rat simp) 1 4).  This gets
> passed down to signdiff-special which sets odds to b-0.25.  These lines
> have not been changed in a very long time, so I think this is probably
> what is supposed to happen.  When signdiff returns back to sign-mplus,
> the second cond clause updates the local variables with the value of
> odds computed from signdiff.  This seems to be what's supposed to
> happen.  Finally, this odds expression is what gets asked.


Yes, I have figured out this too. First I had a long search in
compar.lisp to find the bug and I have traced a lot of functions to
understand the change. At last I had a look at db.lisp. Because I
already knew that the bug is not present in Maxima 5.18 I have gone back
to revision 1.17 of db.lisp and it works immediately, but not with
revision 1.18. Perhaps I will find the underlying problem.

Dieter Kaiser