From: SourceForge.net <no...@so...> - 2008-04-05 20:24:07
|
Bugs item #1913047, was opened at 2008-03-12 14:44 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1913047&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Share Libraries Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Matthew Gwynne (proteumus) Assigned to: Nobody/Anonymous (nobody) Summary: gf_set in gf package doesn't terminate on some inputs. Initial Comment: Summary : Calling gf_set(2,1,[x]); results in non-termination. It seems natural to want to generate GF(2), and even if the format of the modulus used isn't correct, it doesn't seem to matter as the problem lies in the combination of b and e, rather than p (as described in Other Information). Version of Maxima : 5.14 Test Case : $ maxima Maxima 5.14.0 http://maxima.sourceforge.net Using Lisp SBCL 1.0.9-gentoo Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) load("gf"); (%o1) /usr/share/maxima/5.14.0/share/contrib/gf/gf.mac (%i2) gf_set(2,1,[x]); doesn't terminate. Expected result : $ maxima Maxima 5.14.0 http://maxima.sourceforge.net Using Lisp SBCL 1.0.9-gentoo Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) load("gf"); (%o1) /usr/share/maxima/5.14.0/share/contrib/gf/gf.mac (%i2) gf_set(2,1,[x]); (%o2) true Other Information : It seems the problem occurs when gf_findprim() (line 365) is called within gf_set. fastf and slowf both evaluate to the empty list given the arguments (ifactors(1) = [] in both cases) and this leads to f being [], and therefore lf being 0. This then leads to non-termination of the while statement, beginning on line 414, due to the fact that "i" is set to 1 but the inner while statement, beginning on line 430, only executes if i <= lf and of course 1 <= 0 is false. This inner while statement is the only place "found" is set to true and this must occur for the outer while statement to terminate. Reproducible : Always ---------------------------------------------------------------------- >Comment By: Robert Dodier (robert_dodier) Date: 2008-04-05 14:24 Message: Logged In: YES user_id=501686 Originator: NO A new version of the GF package has been submitted and committed to CVS. With this new version gf_set(2, 1, [x]) returns true immediately. Please try again with the new version, which will be in Maxima 5.15.0 and its release candidates very soon. Closing this report as fixed. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1913047&group_id=4933 |