and cln::sqrt conversion was buggy).
result += check_factor(e);
e = ex("x*(2+x^2)*(1+x+x^3+x^2+x^6+x^5+x^4)*(1+x)^2*(1-x+x^2)^2*(-1+x)", syms);
-
result += check_factor(e);
e = ex("(x+4+x^2-x^3+43*x^4)*(x+1-x^2-3*x^3+4*x^4)", syms);
result += check_factor(e);
+ e = ex("-x^2*(x-1)*(1+x^2)", syms);
+ result += check_factor(e);
+
+ e = x;
+ result += check_factor(e);
+
return result;
}
for ( int i=a.degree(x); i>=a.ldegree(x); --i ) {
maxcoeff += pow(abs(a.coeff(x, i)),2);
}
- cl_I normmc = ceiling1(the<cl_F>(cln::sqrt(ex_to<numeric>(maxcoeff).to_cl_N())));
+ cl_I normmc = ceiling1(the<cl_R>(cln::sqrt(ex_to<numeric>(maxcoeff).to_cl_N())));
unsigned int maxdegree = (u1_.degree() > w1_.degree()) ? u1_.degree() : w1_.degree();
unsigned int B = cl_I_to_uint(normmc * expt_pos(cl_I(2), maxdegree));
}
return res;
}
+ if ( is_a<symbol>(sfpoly) ) {
+ return poly;
+ }
// case: (polynomial)
ex f = factor_sqrfree(sfpoly);
return f;