Hello, On Wed, Nov 05, 2008 at 12:52:28PM +0100, Jens Vollinga wrote:
commit e989719ca767691eb75b34785baaaed716ea2624 Author: Jens Vollinga <jensv@balin.nikhef.nl> Date: Mon Nov 3 15:50:31 2008 +0100
Added code for distinct degree factorization.
Thanks to stupid^W standard floating-integral conversions it fails to compile: make[2]: Entering directory `/home/pc7135/varg/tmp/build/ginac/ginac' /bin/sh ../libtool --tag=CXX --mode=compile ccache g++-4.1 -DHAVE_CONFIG_H -I. -I../config -I../../../../work/sw/ginac-official/ginac -I/usr/local/include -Wall -O2 -g -pipe -funroll-loops -ffast-math -finline-limit=1200 -m64 -march=k8 -mfpmath=sse -msse2 -MT factor.lo -MD -MP -MF .deps/factor.Tpo -c -o factor.lo ../../../../work/sw/ginac-official/ginac/factor.cpp libtool: compile: ccache g++-4.1 -DHAVE_CONFIG_H -I. -I../config -I../../../../work/sw/ginac-official/ginac -I/usr/local/include -Wall -O2 -g -pipe -funroll-loops -ffast-math -finline-limit=1200 -m64 -march=k8 -mfpmath=sse -msse2 -MT factor.lo -MD -MP -MF .deps/factor.Tpo -c ../../../../work/sw/ginac-official/ginac/factor.cpp -fPIC -DPIC -o .libs/factor.o ../../../../work/sw/ginac-official/ginac/factor.cpp: In function ‘void GiNaC::<unnamed>::distinct_degree_factor_BSGS(const GiNaC::<unnamed>::umodpoly&, GiNaC::<unnamed>::upvec&)’: ../../../../work/sw/ginac-official/ginac/factor.cpp:901: warning: converting to ‘int’ from ‘double’ ../../../../work/sw/ginac-official/ginac/factor.cpp:903: error: call of overloaded ‘pow(int&, int&)’ is ambiguous /usr/include/bits/mathcalls.h:154: note: candidates are: double pow(double, double) /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/cmath:345: note: float std::pow(float, float) /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/cmath:349: note: long double std::pow(long double, long double) /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/cmath:353: note: double std::pow(double, int) /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/cmath:357: note: float std::pow(float, int) /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/cmath:361: note: long double std::pow(long double, int) Best regards, Alexei -- All science is either physics or stamp collecting.