On Tue, Nov 21, 2006 at 04:20:37PM +0000, Vladimir Kisil wrote:
I do not have a short example. What I met is a part of a rather big program (cs.MS/0512073),
I couldn't compile it (see the attached log), what I'm doing wrong? $ g++ --version | head -n 1 g++ (GCC) 4.1.2 20061028 (prerelease) (Debian 4.1.1-19) $ ginac-config --version 1.3.5 This is not really GiNaC 1.3.5, but rather my hijacked version, but the API is the same.
specifically the chunk which check conformality of different distances. It uses series expansion of a fraction of two multi-variable polynomials so it can be either gcd() or collect() which cause infinite execution, I guess.
AFAIK, no series() method uses gcd() on its own. But there are a couple of normal() (which obviously uses gcd()) in your code, so I guess bad gcd() performance might be the root of the problem. The patches I've posted (last month and yesterday) might solve it.
Surprisingly infinite execution occurs only on my office computer
Could you please show the backtrace? Or maybe print the expression before calling normal() and post it here?
but never at home, although they both have quite similar hardware configuration (Athlons 2800 and 3000).
This makes me think about compiler bugs/wrong compilation options, etc. Are you sure the software (first of all, the compiler) versions and compilation options are _exactly_ the same on machines in question? Best regards, Alexei -- All science is either physics or stamp collecting.