UNPKG

2.01 kBtext/coffeescriptView Raw
1test_factor_number = ->
2 run_test [
3
4 "factor(0)",
5 "0",
6
7 "factor(1)",
8 "1",
9
10 "factor(2)",
11 "2",
12
13 "factor(3)",
14 "3",
15
16 "factor(4)",
17 "2^2",
18
19 "factor(5)",
20 "5",
21
22 "factor(6)",
23 "2*3",
24
25 "factor(7)",
26 "7",
27
28 "factor(8)",
29 "2^3",
30
31 "factor(9)",
32 "3^2",
33
34 "factor(10)",
35 "2*5",
36
37 "factor(100!)",
38 "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",
39
40 "factor(2*(2^30-35))",
41 "2*1073741789",
42
43 # x is the 10,000th prime
44
45 # Prime factors greater than x^2 are found using the Pollard rho method
46
47 "a=104729",
48 "",
49
50 "factor(2*(a^2+6))",
51 "2*10968163447",
52
53 "factor((a^2+6)^2)",
54 "10968163447*10968163447", # FIXME should be 10968163447^2
55
56 "factor((a^2+6)*(a^2+60))",
57 "10968163501*10968163447", # FIXME sort order
58
59 "f=(x+1)*(x+2)*(y+3)*(y+4)",
60 "",
61
62 "factor(f,x,y)",
63 "(x+1)*(x+2)*(y+3)*(y+4)",
64
65 "factor(f,y,x)",
66 "(x+1)*(x+2)*(y+3)*(y+4)",
67
68 "f=(x+1)*(x+1)*(y+2)*(y+2)",
69 "",
70
71 "factor(f,x,y)",
72 "(x+1)^2*(y+2)^2",
73
74 "factor(f,y,x)",
75 "(x+1)^2*(y+2)^2",
76
77 "factor((x+1)*(-x^2+x+1),x)",
78 "-(x^2-x-1)*(x+1)",
79
80 "factor((x+1)*(x^2-x-1),x)",
81 "(x^2-x-1)*(x+1)",
82
83 "factor(5*x^3-5)",
84 "5*(x-1)*(x^2+x+1)",
85
86 "factor((x+1)*(2x+4))",
87 "2*(x+1)*(x+2)",
88
89 "factor(x^8 - 1)",
90 "(x-1)*(x+1)*(x^2+1)*(x^4+1)",
91
92 "factor((x-1)*(x+1)*(x^2+1)*(2*x^4+2))",
93 "2*(x-1)*(x+1)*(x^2+1)*(x^4+1)",
94
95 "factor((x-1)*(x+1)*(2*x^2+2)*(x^4+1))",
96 "2*(x-1)*(x+1)*(x^2+1)*(x^4+1)",
97
98 "factor(x^1 - 1)",
99 "x-1",
100
101 "factor(x^2 - 1)",
102 "(x-1)*(x+1)",
103
104 "factor(x^3 - 1)",
105 "(x-1)*(x^2+x+1)",
106
107 "factor(x^4 - 1)",
108 "(x-1)*(x+1)*(x^2+1)",
109
110 "factor(x^5 - 1)",
111 "(x-1)*(x^4+x^3+x^2+x+1)",
112
113 "factor(x^6 - 1)",
114 "(x-1)*(x+1)*(x^2+x+1)*(x^2+1)",
115
116 "factor(x^7 - 1)",
117 "(x-1)*(x^6+x^5+x^4+x^3+x^2+x+1)",
118
119 # irreducible in Z
120 "factor(1+x+x^2+x^3+x^4)",
121 "x^4+x^3+x^2+x+1",
122
123 "factor(x^4 - 1*x^3 + 4*x^2 + 3*x + 5)",
124 "(x^2+x+1)*(x^2-2*x+5)",
125
126 # clean up
127 "a = quote(a)",
128 "",
129
130 "f = quote(f)",
131 "",
132
133 ]