math/t/mpreduce: Add a slew more randomized tests.
[u/mdw/catacomb] / math / t / mpreduce
CommitLineData
f46efa79 1# Tests for efficient reduction
2
3reduce {
bccb92dd 4 0xc000 0x16cb3 0xacb3;
cd9aae84 5 0x8000 0x345545 0x5545;
30d09778 6 0x8001 0x345545 0x54dd;
bccb92dd 7
c29970a7
MW
8 0xfffef 0x100000 0x11;
9
10 0x1ffffffe 0x26fc6567 0x6fc6569;
11 0x3ffffffe 0x45445dc0 0x5445dc2;
12 0x7ffffffe 0xd4827a70 0x54827a72;
13
f46efa79 14 0x72e2c37447f8bca34c4a39b130ea8e5c9a7d8b54564aa88ea773
15 0x367aa8f5ba9ac4e8e2ea198b8af2c3b3081deab392ffc05715783b245a62a6fa
16 0x08e8c03ebf398c63d71d8fd7ca4ece12367a8dde180ca650afb6;
17
30d09778
MW
18 0x52e2c37447f8bca34c4a39b130ea8e5c9a7d8b54564aa88ea773
19 0x367aa8f5ba9ac4e8e2ea198b8af2c3b3081deab392ffc05715783b245a62a6fa
20 0x4b6bd8300540dbbd767fe9e64ad2cbde52a9ae2299e3c516152d;
21
f46efa79 22 0xfffffffdffffffffffffffffffffffff
23 0x7fb838a8a0a95046b9d9d9fb4440f7bbc1a7bd3b
24 0xa019c198b9d9d9fb4440f7bc415ff5e4;
63ef14a6
MW
25
26 # --- Randomized tests ---
27
28 0x132d3556f3cebc638 0x6f74ce80d07608e319f56dc2 0x79e98fbb30a214c2;
29 0x1aef05e0555769653 0xf636185c2ada6b1acf4f2d31 0x117b9a81c55ee4e03;
30 0x1f7c4c81b88f81913 0x760f610062afd72799e6b0b3 0x1ec258eae535659c3;
31 0x117f2f897d661e4b7 0x95df548330a70329eeab383f 0x86f2ab45d0cc87ed;
32 0xa2c4cf44a5972188 0xd948ef220b6601616cdbed8 0x26715b2f439cede0;
33 0x525db818176327d8 0x1236bb2e97fcbf3e416da5fa 0x316b2042536df86a;
34 0x820c635b08734b4f 0xd7974bbb4c1ea1b391f04734 0xeb86c2a8ce1253d;
35 0xc462e566492f4466 0xa8bb5f5be3c5b6759aabaca6 0xb5017eda4f31cd6c;
36 0x178f0c649ed118fcf 0xd87870a99fec475bd35af088 0xd58a822a7a28519e;
37 0x18281a83819b93de8 0x4076eebb0ad137ab0a72f3f4 0x462edd6a65b5113c;
38 0x6e16593cfefad08d 0xd8634d8282d21301b25048cb 0x433a7e8a06ca35a8;
39 0x13060a7e887802d17 0x7e5183e6e46caee43188a083 0x8e7725518c6987cb;
40 0x136907b6278b8fa2e 0x84ca3577e9d162673f60b558 0x6ea653977d862efc;
41 0xefbf051e851f8fce 0xc8e0033560fc1dec8165f005 0xc490ffd815e756b;
42 0x17b27059bef04448c 0x62a68b0714913f155276d5c 0x56daeaed9b4b9964;
43 0x1db4fd46803ba288b 0xcc2ff1d6d2cd60df11af89ef 0xa9703ff1bb30d6c9;
44 0x96688a890782d63e 0x8f1580cd4aac6107a99c452e 0x9072ea3454f23ada;
45 0x129db7a6e49f67402 0x58ca71abf9678ad6b89f1bb1 0xd24d2e9f92b3250b;
46 0x5787335923bfe26a 0xab77a4c529f22b27f3404ec1 0x12376ede68e7f62b;
47 0xcdd0867e7d2a6f82 0x94d04cc4c41f8d9e81ad1a57 0x4e5adfa0b513316b;
48 0x1e7fa86c7cfc33476 0xd5f3486892e62aafdaab49d9 0x1d880abd6fc232e57;
49 0x3b243bca16e19c1b 0x73ea15041d8afb15007a86ec 0xc35d820e3487bab;
50 0xe83026630878a6fc 0x5cc7c330ad099096f8c0d334 0x7175110d57947884;
51 0x1e177dfad81ae3659 0x5e63885a60d2433639ea15d4 0x4171b9b6b9f283c7;
52 0x56092c4d7e0317cb 0xf0ce97e0aa68222719ca0db3 0x513e403d7c15394a;
53 0x13bf2823dc264e579 0xecde50b32c372ae010724403 0x10d3560d183e4bbef;
54 0x1e3e73ae27f730415 0x85be132dff09275cd0678dc1 0x1cced546cc046d3b4;
55 0x7b95e31b24cd5e2d 0x9f2b52c68b843a15d22e89e5 0x2caf4e3e91c31db7;
56 0x19e8f897bb33980d3 0x8e768c0e8fd8d9d33dccde9b 0x1773726f1d2d5c450;
57 0x45c3da8c33904f84 0x938d033a4a0fa631a0b80362 0x286f070c91c83346;
58 0x14c31265bf7031a6f 0x5a66a6a2977db772a0685b85 0x2958d7228b7a99e7;
59 0x3a64564a630c37d 0xc9bab7f3aae1c004695e221f 0x389af226da3abf4;
60 0xae62705e0d9bd186 0x6acc10e7c5c37a49aab90cdb 0x3f088952eb7381dd;
61 0x2f6d2f19b3dd3afa 0x736a48a3aeb822e36afccddc 0x1177d99e0ace6132;
62 0x28ba8f6a810a9bc3 0xc132dcb0c54968203521a211 0x2b34b419f9cf4fc;
63 0xa27179c1d29f17e 0x204334f072f78070b3d8be97 0x13f27df8f86f04b;
64 0x1360ebec0aebb4fc1 0x34e4eb389dc01062ea004096 0x4e37e90448e2fb44;
65 0x10e6b04cf5aa8714a 0x952dfc6839dab9b3fe68b90b 0xa486328db342918d;
66 0xb78618030fd99201 0x1e4277d9f177472e74403dde 0x616d77be8e5bb8e0;
67 0x19332141599bbb34e 0x8fa7e6464ce3630e648be948 0xb208f457fb27f9ce;
68 0xb923e7a97b13df9c 0x4b7b8a030a5b2d89838de97a 0x3c31e3e6dda9401a;
69 0x19d4de5edb3c5ec0d 0x77483326eb9880ed5c5e172a 0x18e1bc3c0c84a731f;
70 0x1fbd82e6d19830423 0x19a19d5c7300e8f15276b442 0x19e3cd78bbc76f377;
71 0x1edfa1d3b8028b51f 0xd8317ae6fab758b15b11bd70 0xfd1c644434022847;
72 0xdaec65ce93172475 0x145a8d7c0608220069826daf 0xb10e61da29e26c76;
73 0x352c1277348eb7b7 0xb1298fb1e56c3bddf99eb1e0 0x3c77b12d90eb7aa;
74 0x1c85f71596327943a 0x87d614ebeb9c139480424108 0x9d2c2c54ab8b2930;
75 0x18a1750630238063d 0xdce54d7fadff08133949f19f 0x123b2144f9a974900;
76 0x1a7744ebf9a65a52c 0xff7e0dc61bb5ae146f77b5f3 0x117b737e489aa384b;
77 0xfcab2134564cb7e1 0x2abafd1970dc3cd3fe19737a 0x3f9422811f59a679;
78 0x12c5ee15654f99650 0x51cd337f586f4132cc5f9fce 0x367fa304ef4f7b9e;
79 0x1b4d1965ea5b244b5 0x45147e77509b75c124c7ea58 0x115f6b685370d151;
80 0x166733803c3741483 0xa17bd9f2dc4718d1f9d2e586 0x1072731aaceb80daf;
81 0x1c14b7860ca6244e7 0x7a049d30b5fcf52e1b7318d1 0x17ba348a12493a708;
82 0x1638163820e50cc53 0xeb2017adba2059e82ef4cc87 0x69fae65828d3b1cc;
83 0x6d62aca84891a8e9 0x14154f8a5561d2fae8733ee9 0x39398b9f5b07ccbc;
84 0x14074861b17018bdb 0x69e3fe986c97283ad909e425 0x65abffa82054c001;
85 0x113d89601bf6c127c 0x61ac90d7b40365442ce062c2 0xbf3afe26075dd2ce;
86 0xe29601d85c5f8f5c 0x30c45fc40bcc3c07b23a84b7 0x37fad84164b71f2b;
87 0xf5e804bca7760fa2 0x87be50da617af63c0ff84a5b 0x9bc1d962b7f8d3df;
88 0x1026cc79d705b0390 0xc1fa276909517117ea61f198 0xc8adc301152c14b8;
89 0xba457c44f8f6251e 0xafbdeb0a92ff3c8ebebea2e4 0x707337a5038cf7ec;
90 0x10390e61e25bfcf6e 0x61f936ea3cc4c9e2c0fdc882 0x139d30bf63108000;
91 0x6c31214be5742477 0xa921abaf903591a0f740a56a 0xfe7c248c78176a4;
f46efa79 92}
93
94modexp {
106b481c 95 0xfffffffdffffffffffffffffffffffff 0xfffffffdfffffffffffffffffffffffe 0 1;
45c0fd36 96 0xfffffffdffffffffffffffffffffffff 2
f46efa79 97 0xfffffffdfffffffffffffffffffffffe 1;
45c0fd36
MW
98 0xfffffffdffffffffffffffffffffffff 2
99 0xfffffffdfffffffffffffffffffffffd
f46efa79 100 0x7fffffff000000000000000000000000;
a69a3efd 101 8939489893434234331 1804289383
102 -8939035539979879765 6139425926295484741;
f46efa79 103}