138 lines
2.3 KiB
CoffeeScript
138 lines
2.3 KiB
CoffeeScript
test_factor_number = ->
|
|
run_test [
|
|
|
|
"factor(0)",
|
|
"0",
|
|
|
|
"factor(1)",
|
|
"1",
|
|
|
|
"factor(2)",
|
|
"2",
|
|
|
|
"factor(3)",
|
|
"3",
|
|
|
|
"factor(4)",
|
|
"2^2",
|
|
|
|
"factor(5)",
|
|
"5",
|
|
|
|
"factor(6)",
|
|
"2*3",
|
|
|
|
"factor(7)",
|
|
"7",
|
|
|
|
"factor(8)",
|
|
"2^3",
|
|
|
|
"factor(9)",
|
|
"3^2",
|
|
|
|
"factor(10)",
|
|
"2*5",
|
|
|
|
"factor(100!)",
|
|
"2^97*3^48*5^24*7^16*11^9*13^7*17^5*19^5*23^4*29^3*31^3*37^2*41^2*43^2*47^2*53*59*61*67*71*73*79*83*89*97",
|
|
|
|
"factor(2*(2^30-35))",
|
|
"2*1073741789",
|
|
|
|
# x is the 10,000th prime
|
|
|
|
# Prime factors greater than x^2 are found using the Pollard rho method
|
|
|
|
"a=104729",
|
|
"",
|
|
|
|
"factor(2*(a^2+6))",
|
|
"2*10968163447",
|
|
|
|
"factor((a^2+6)^2)",
|
|
"10968163447*10968163447", # FIXME should be 10968163447^2
|
|
|
|
"factor((a^2+6)*(a^2+60))",
|
|
"10968163501*10968163447", # FIXME sort order
|
|
|
|
"f=(x+1)*(x+2)*(y+3)*(y+4)",
|
|
"",
|
|
|
|
"factor(f,x,y)",
|
|
"(x+1)*(x+2)*(y+3)*(y+4)",
|
|
|
|
"factor(f,y,x)",
|
|
"(x+1)*(x+2)*(y+3)*(y+4)",
|
|
|
|
"f=(x+1)*(x+1)*(y+2)*(y+2)",
|
|
"",
|
|
|
|
"factor(f,x,y)",
|
|
"(x+1)^2*(y+2)^2",
|
|
|
|
"factor(f,y,x)",
|
|
"(x+1)^2*(y+2)^2",
|
|
|
|
"factor((x+1)*(-x^2+x+1),x)",
|
|
"-(x^2-x-1)*(x+1)",
|
|
|
|
"factor((x+1)*(x^2-x-1),x)",
|
|
"(x^2-x-1)*(x+1)",
|
|
|
|
"factor(5*x^3-5)",
|
|
"5*(x-1)*(x^2+x+1)",
|
|
|
|
"factor((x+1)*(2x+4))",
|
|
"2*(x+1)*(x+2)",
|
|
|
|
"factor(x^8 - 1)",
|
|
"(x-1)*(x+1)*(x^2+1)*(x^4+1)",
|
|
|
|
"factor((x-1)*(x+1)*(x^2+1)*(2*x^4+2))",
|
|
"2*(x-1)*(x+1)*(x^2+1)*(x^4+1)",
|
|
|
|
"factor((x-1)*(x+1)*(2*x^2+2)*(x^4+1))",
|
|
"2*(x-1)*(x+1)*(x^2+1)*(x^4+1)",
|
|
|
|
"factor(x^1 - 1)",
|
|
"x-1",
|
|
|
|
"factor(x^2 - 1)",
|
|
"(x-1)*(x+1)",
|
|
|
|
"factor(x^3 - 1)",
|
|
"(x-1)*(x^2+x+1)",
|
|
|
|
"factor(x^4 - 1)",
|
|
"(x-1)*(x+1)*(x^2+1)",
|
|
|
|
"factor(x^5 - 1)",
|
|
"(x-1)*(x^4+x^3+x^2+x+1)",
|
|
|
|
"factor(x^6 - 1)",
|
|
"(x-1)*(x+1)*(x^2+x+1)*(x^2+1)",
|
|
|
|
"factor(x^7 - 1)",
|
|
"(x-1)*(x^6+x^5+x^4+x^3+x^2+x+1)",
|
|
|
|
# irreducible in Z
|
|
"factor(1+x+x^2+x^3+x^4)",
|
|
"x^4+x^3+x^2+x+1",
|
|
|
|
"factor(x^4 - 1*x^3 + 4*x^2 + 3*x + 5)",
|
|
"(x^2+x+1)*(x^2-2*x+5)",
|
|
|
|
# https://github.com/davidedc/Algebrite/issues/113
|
|
"factor((x^3+x^2+x)*(y^3+y^2),x,y)",
|
|
"x*y^2*(x^2+x+1)*(y+1)",
|
|
|
|
# clean up
|
|
"a = quote(a)",
|
|
"",
|
|
|
|
"f = quote(f)",
|
|
"",
|
|
|
|
]
|