Rearrange the file tree.
[u/mdw/catacomb] / math / t / gfreduce
diff --git a/math/t/gfreduce b/math/t/gfreduce
new file mode 100644 (file)
index 0000000..f712316
--- /dev/null
@@ -0,0 +1,79 @@
+# Test efficient polynomial reduction
+
+reduce {
+         0x10000000
+  0x4509823098098435
+          0x8098435;
+  0x100000000000000050002
+    0x4509823098098435
+    0x4509823098098435;
+  0x100000000000000050002
+    0x450982309809843545609843098560803495
+    0x144f98a2f5cbc4773cfd;
+  0xb2ca471b0867d5fae2e4f27a2d2706da
+    0xf254423fef93d5d7a76ecf22c656c1352c53257875945d33
+    0x582f783fc210f72814780e69b0bd29ff;
+}
+
+modexp {
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+  0
+  1;
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x02
+  0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+  1;
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x435932098459080438094509845
+  0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+  1;
+  0x10000000000000000000000000000000000000000003
+  0x02
+  0x0fffffffffffffffffffffffffffffffffffffffffff
+  1;
+  0x10000000000000000000000000000000000000000003
+  0x34235950984598345900983409845690805680985
+  0x0fffffffffffffffffffffffffffffffffffffffffff
+  1;
+
+  0x800000000000000000000000000000000000000c9
+  0x3f0eba16286a2d57ea0991168d4994637e8343e36
+  -1
+  0x3c8c172e24598e90b9542e6b8f6571f54be572b50;
+  0x800000000000000000000000000000000000000c9
+  0x3c8c172e24598e90b9542e6b8f6571f54be572b50
+  342345
+  0x3521fe2666efe92ca4eb160a286e0fd9427b84a62;
+  0x800000000000000000000000000000000000000c9
+  0x3f0eba16286a2d57ea0991168d4994637e8343e36
+  -342345
+  0x3521fe2666efe92ca4eb160a286e0fd9427b84a62;
+}
+
+sqrt {
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x1f081e69f45d3254530766ab98d55fa612c7bb27ea31bc2621d894be9c0b196b3
+    0x7fb838a8a0a95046b9d9d9fb4440f7bbc1a7bd3b4e853fc92d4e1588719986aa;
+  0x10000000000000000000000000000000000000000003
+    0x4594094509835690805698083560980459903450984
+    0x820291881a244a02840a2f8ece3f23f88f38bf0b3a;
+}
+
+halftrace {
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
+   0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9d;
+}
+
+quadsolve {
+  0x20000000000000000000000000000000000000000000000000000000000001001
+  0x174e65c7d14a8ec286df8c7df17662f13f1d3563f13c8c63f23f5d0bd5d1b45cd
+   0x8d68905434b020ccb849e17a03a5c441d2a104aaf523699c1cc7a93174d21d9c;
+  0x10000000000000000000000000000000000000000003
+   0x3b818b447e90713da04f13c3b07cb5e2681d08e4700
+   0x27aa17c97dfa80bbdef9f91b243c6e6ddba1a223cac;
+  0x800000000000000000000000000000000000000c9
+    0x158fe327cc763a2fd7371ee80641ed1871a32aaa8
+    0x29ab0d7da05ffc3f1b3f97ac10e2092694aadbb7c;
+}