Bug report ID:2960403 "spurious floats in asksign"
Subject: Bug report ID:2960403 "spurious floats in asksign"
From: Dieter Kaiser
Date: Tue, 09 Mar 2010 22:22:18 +0100
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