From: SourceForge.net <no...@so...> - 2004-02-05 21:10:21
|
Bugs item #891338, was opened at 2004-02-05 13:10 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105083&aid=891338&group_id=5083 Category: None Group: misc Status: Open Resolution: None Priority: 5 Submitted By: Preston Pfarner (pfarner) Assigned to: Nobody/Anonymous (nobody) Summary: Stack Overflow from Infinite Recursion Initial Comment: I noticed that the attached simple test program fails with a stack overflow due to infinite recursion in the second EV() call. Output: Before D(Pow(x,1/2),x) After D(Pow(x,1/2),x) Before D(Pow(x,-1/2),x) Exception in thread "main" java.lang.StackOverflowError When I run it with some extra instrumentation (printing rules that are applied, from HRuleSet.testDownRules()), I see that it appears to be applying the rule {x_IsNumber}:=Check(SignumCmp(x)<0,I*Pi-{-x}) to List(1/2), then List(-1/2), and then repeating. I'll keep looking into this, to nail down exactly what's happening. Perhaps some rules don't interact well, or a rule should be added. This might also be related to the fact that the function isn't defined for x<0, or that the second function has a pole (goes to infinity) at x=0. However, even if the function behaves poorly, we'll want it to report that problem cleanly, so this is a bug. As I said, I'm researching this one, but I'm also reporting it as a matter of proper practice. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105083&aid=891338&group_id=5083 |