chiark / gitweb /
math/gfreduce.c: Refactor and document.
[catacomb] / math / t / gfreduce
1 # Test efficient polynomial reduction
2
3 reduce {
4           0x10000000
5   0x4509823098098435
6            0x8098435;
7   0x100000000000000050002
8     0x4509823098098435
9     0x4509823098098435;
10   0x100000000000000050002
11     0x450982309809843545609843098560803495
12     0x144f98a2f5cbc4773cfd;
13   0xb2ca471b0867d5fae2e4f27a2d2706da
14     0xf254423fef93d5d7a76ecf22c656c1352c53257875945d33
15     0x582f783fc210f72814780e69b0bd29ff;
16
17   # --- Bugs discovered ---
18
19   0x20000000000000000000000000000000000000004000000000000000001
20     0x110414154054140445011511541540514401111414505115044104145451505001151441450000541004550554154040500000411050400055041
21     0x1bf878a39fbee9cf20a2f6f41eadda756518f1669b2c7d8f9234965b6b3;
22 }
23
24 modexp {
25   0x20000000000000000000000000000000000000000000000000000000000001001
26   0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
27   0
28   1;
29   0x20000000000000000000000000000000000000000000000000000000000001001
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;
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;
58 }
59
60 sqrt {
61   0x20000000000000000000000000000000000000000000000000000000000001001
62   0x1f081e69f45d3254530766ab98d55fa612c7bb27ea31bc2621d894be9c0b196b3
63     0x7fb838a8a0a95046b9d9d9fb4440f7bbc1a7bd3b4e853fc92d4e1588719986aa;
64   0x10000000000000000000000000000000000000000003
65     0x4594094509835690805698083560980459903450984
66     0x820291881a244a02840a2f8ece3f23f88f38bf0b3a;
67 }
68
69 halftrace {
70   0x20000000000000000000000000000000000000000000000000000000000001001
71   0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
72    0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9d;
73 }
74
75 quadsolve {
76   0x20000000000000000000000000000000000000000000000000000000000001001
77   0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
78    0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9c;
79   0x10000000000000000000000000000000000000000003
80    0x3b818b447e90713da04f13c3b07cb5e2681d08e4700
81    0x27aa17c97dfa80bbdef9f91b243c6e6ddba1a223cac;
82   0x800000000000000000000000000000000000000c9
83     0x158fe327cc763a2fd7371ee80641ed1871a32aaa8
84     0x29ab0d7da05ffc3f1b3f97ac10e2092694aadbb7c;
85 }