X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Fexam_factor.cpp;h=8851b7cc2f2c9fedd59d52f91838866f14cf48fe;hp=7e156487bc10f16e1dad4a3fdef4572ad2786907;hb=ceb63120f43b41b62dcb0328231a3137d666161b;hpb=321d5c941f81b1d0b86de91f3f17c5af5b6e4642 diff --git a/check/exam_factor.cpp b/check/exam_factor.cpp index 7e156487..8851b7cc 100644 --- a/check/exam_factor.cpp +++ b/check/exam_factor.cpp @@ -94,6 +94,75 @@ static unsigned exam_factor1() e = x; result += check_factor(e); + // x^37 + 1 + e = ex("(1+x)*(1+x^2-x^29-x^11-x^25-x^9-x^35+x^20-x^3+x^16-x^15-x-x^13+x^28+x^24-x^33+x^8-x^19+x^36+x^12-x^27+x^10-x^23+x^18+x^14+x^34-x^31+x^32+x^30-x^5+x^26+x^4+x^22-x^21-x^7-x^17+x^6)", syms); + result += check_factor(e); + + e = ex("(1+4*x)*x^2*(1-4*x+16*x^2)*(3+5*x+92*x^3)", syms); + result += check_factor(e); + + e = ex("(77+11*x^3+25*x^2+27*x+102*x^4)*(85+57*x^3+92*x^2+29*x+66*x^4)", syms); + result += check_factor(e); + + return result; +} + +static unsigned exam_factor2() +{ + unsigned result = 0; + ex e, d; + symbol x("x"), y("y"), z("z"); + lst syms; + syms = x, y, z; + + e = ex("x+y", syms); + result += check_factor(e); + + e = ex("(x^2-y+1)*(x+y)", syms); + result += check_factor(e); + + e = ex("-2*(x+y)*(x-y)", syms); + result += check_factor(e); + + e = ex("(16+x^2*z^3)*(-17+3*x-5*z)*(2*x+3*z)*(x-y^2-z^3)", syms); + result += check_factor(e); + + e = ex("(x-y*z)*(x-y^2-z^3)*(x+y+z)", syms); + result += check_factor(e); + + e = ex("-(y^2-x+z^3)*x*(x+y+z)", syms); + result += check_factor(e); + + e = ex("-316*(3*x-4*z)*(2*x+3*z)*(x+y)*(-1+x)", syms); + result += check_factor(e); + + e = ex("(x+x^3+z^2)*(3*x-4*z)", syms); + result += check_factor(e); + + e = ex("250*(-3+x)*(4*z-3*x)*(x^3+z^2+x)*x", syms); + result += check_factor(e); + + e = ex("327*(x+z^2+x^3)*(3*x-4*z)*(-7+5*x-x^3)*(1+x+x^2)", syms); + result += check_factor(e); + + e = ex("x-y^2-z^3", syms); + result += check_factor(e); + + e = ex("-390*(7+3*x^4)*(2+x^2)*(x-z^3-y^2)", syms); + result += check_factor(e); + + e = ex("55*(1+x)^2*(3*x-4*z)*(1+x+x^2)*(x+x^3+z^2)", syms); + result += check_factor(e); + + e = ex("x+y*x-1", syms); + result += check_factor(e); + + e = ex("390*(-1+x^6-x)*(7+3*x^4)*(2+x^2)*(y+x)*(-1+y-x^2)*(1+x^2+x)^2", syms); + result += check_factor(e); + + e = ex("310*(y+x)*(-1+y-x^2)", syms); + result += check_factor(e); + return result; } @@ -104,6 +173,7 @@ unsigned exam_factor() cout << "examining polynomial factorization" << flush; result += exam_factor1(); cout << '.' << flush; + result += exam_factor2(); cout << '.' << flush; return result; }