1 | test_quickfactor = ->
|
2 | i = 0
|
3 | logout("testing quickfactor\n")
|
4 | for i in [2...10001]
|
5 | if i % 1000 == 0
|
6 | console.log i
|
7 | base = i
|
8 | push_integer(base)
|
9 | push_integer(1)
|
10 | quickfactor()
|
11 | h = tos
|
12 | j = 0
|
13 | while (base > 1)
|
14 | expo = 0
|
15 | while (base % primetab[j] == 0)
|
16 | base /= primetab[j]
|
17 | expo++
|
18 | if (expo)
|
19 | push_integer(primetab[j])
|
20 | push_integer(expo)
|
21 | quickpower()
|
22 | j++
|
23 | multiply_all(tos - h)
|
24 | p2 = pop()
|
25 | p1 = pop()
|
26 | if (!equal(p1, p2))
|
27 | logout("failed\n")
|
28 | print_lisp(p1)
|
29 | print_lisp(p2)
|
30 | errout()
|
31 | console.log "quickfactor is ok"
|
32 | logout("ok\n")
|
33 |
|
34 | #endif
|