math/gfreduce.c: Refactor and document.
[u/mdw/catacomb] / math / t / gfreduce
CommitLineData
ceb3f0c0 1# Test efficient polynomial reduction
2
3reduce {
45c0fd36 4 0x10000000
ceb3f0c0 5 0x4509823098098435
45c0fd36 6 0x8098435;
ceb3f0c0 7 0x100000000000000050002
8 0x4509823098098435
9 0x4509823098098435;
10 0x100000000000000050002
11 0x450982309809843545609843098560803495
12 0x144f98a2f5cbc4773cfd;
13 0xb2ca471b0867d5fae2e4f27a2d2706da
14 0xf254423fef93d5d7a76ecf22c656c1352c53257875945d33
15 0x582f783fc210f72814780e69b0bd29ff;
51f5bbe0
MW
16
17 # --- Bugs discovered ---
18
19 0x20000000000000000000000000000000000000004000000000000000001
20 0x110414154054140445011511541540514401111414505115044104145451505001151441450000541004550554154040500000411050400055041
21 0x1bf878a39fbee9cf20a2f6f41eadda756518f1669b2c7d8f9234965b6b3;
ceb3f0c0 22}
23
24modexp {
25 0x20000000000000000000000000000000000000000000000000000000000001001
a69a3efd 26 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
27 0
28 1;
29 0x20000000000000000000000000000000000000000000000000000000000001001
ceb3f0c0 30 0x02
31 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
32 1;
33 0x20000000000000000000000000000000000000000000000000000000000001001
34 0x435932098459080438094509845
35 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
36 1;
37 0x10000000000000000000000000000000000000000003
38 0x02
39 0x0fffffffffffffffffffffffffffffffffffffffffff
40 1;
41 0x10000000000000000000000000000000000000000003
42 0x34235950984598345900983409845690805680985
43 0x0fffffffffffffffffffffffffffffffffffffffffff
44 1;
a69a3efd 45
46 0x800000000000000000000000000000000000000c9
47 0x3f0eba16286a2d57ea0991168d4994637e8343e36
48 -1
49 0x3c8c172e24598e90b9542e6b8f6571f54be572b50;
50 0x800000000000000000000000000000000000000c9
51 0x3c8c172e24598e90b9542e6b8f6571f54be572b50
52 342345
53 0x3521fe2666efe92ca4eb160a286e0fd9427b84a62;
54 0x800000000000000000000000000000000000000c9
55 0x3f0eba16286a2d57ea0991168d4994637e8343e36
56 -342345
57 0x3521fe2666efe92ca4eb160a286e0fd9427b84a62;
ceb3f0c0 58}
59
60sqrt {
61 0x20000000000000000000000000000000000000000000000000000000000001001
62 0x1f081e69f45d3254530766ab98d55fa612c7bb27ea31bc2621d894be9c0b196b3
432c4e18 63 0x7fb838a8a0a95046b9d9d9fb4440f7bbc1a7bd3b4e853fc92d4e1588719986aa;
ceb3f0c0 64 0x10000000000000000000000000000000000000000003
432c4e18 65 0x4594094509835690805698083560980459903450984
66 0x820291881a244a02840a2f8ece3f23f88f38bf0b3a;
ceb3f0c0 67}
68
69halftrace {
70 0x20000000000000000000000000000000000000000000000000000000000001001
71 0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
72 0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9d;
73}
74
75quadsolve {
76 0x20000000000000000000000000000000000000000000000000000000000001001
77 0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
78 0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9c;
79 0x10000000000000000000000000000000000000000003
80 0x3b818b447e90713da04f13c3b07cb5e2681d08e4700
81 0x27aa17c97dfa80bbdef9f91b243c6e6ddba1a223cac;
bc985cef 82 0x800000000000000000000000000000000000000c9
83 0x158fe327cc763a2fd7371ee80641ed1871a32aaa8
84 0x29ab0d7da05ffc3f1b3f97ac10e2092694aadbb7c;
ceb3f0c0 85}