Index: pseries.cpp =================================================================== RCS file: /home/cvs/GiNaC/ginac/pseries.cpp,v retrieving revision 1.78 diff -r1.78 pseries.cpp 884c884 < deg = deg - p.to_int()*ldeg; --- > deg = deg - (p*ldeg).to_int(); 960c960 < if (!must_expand_basis && !basis.subs(r, subs_options::no_pattern).is_zero()) --- > if (!must_expand_basis && !basis.subs(r, subs_options::no_pattern).is_zero() && !is_a(basis)) 975c975 < int intexp = ex_to(exponent).to_int(); --- > numeric numexp = ex_to(exponent); 987c987,989 < ex e = basis.series(r, order + real_ldegree*(1-intexp), options); --- > if(!(real_ldegree*numexp).is_integer()) > throw std::runtime_error("pseries::power_const(): trying to assemble a Puiseux series"); > ex e = basis.series(r, (order + real_ldegree*(1-numexp)).to_int(), options); 991c993 < result = ex_to(e).power_const(intexp, order); --- > result = ex_to(e).power_const(numexp, order);