Commit Graph

402 Commits

Author SHA1 Message Date
Jeroen van Rijn
3faac14d62 big: Add ASCII file import/export. 2021-09-05 15:50:23 +02:00
Jeroen van Rijn
f33d0725db big: Add Extended Euclidean algorithm. 2021-09-05 14:03:02 +02:00
Jeroen van Rijn
1f5ce91ae2 big: Add internal_random_prime. 2021-09-05 10:40:35 +02:00
Jeroen van Rijn
f2c5c26f2c big: Add internal_int_prime_next_prime. 2021-09-04 16:31:05 +02:00
Jeroen van Rijn
52da5b8724 big: Default to Frobenius-Underwood. It's 10% faster than Lucas-Selfridge. 2021-09-03 23:54:54 +02:00
Jeroen van Rijn
b1ed7fc6b9 big: Add Lucas-Selfridge. 2021-09-03 23:54:54 +02:00
Jeroen van Rijn
70e12f7a1c big: Fix internal_int_mod for inputs with opposite signs.
This threw off Frobenius-Underwood.
2021-09-03 14:50:26 +02:00
Jeroen van Rijn
eecc786bd2 big: Add Frobenius-Underwood. 2021-09-03 01:25:18 +02:00
Jeroen van Rijn
7fa04fa018 big: Fix M-R. 2021-09-02 19:59:59 +02:00
Jeroen van Rijn
31918d3b8f big: Add internal_int_is_prime. 2021-09-02 18:31:08 +02:00
Jeroen van Rijn
e639c61499 big: Add Miller-Rabin. 2021-09-01 22:06:07 +02:00
Jeroen van Rijn
ae354731ed big: Add ; after proc map. 2021-09-01 19:18:13 +02:00
Jeroen van Rijn
671b413b15 big: Use new comparison helpers. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
335d361fc6 big: Add comparison helpers. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
df29d10210 big: Add internal_int_kronecker. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
fd83cbf40b big: Add ilog2. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
7d7ed6b95f big: Add internal_int_exponent_mod. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
a056e19434 big: Cue up internal_int_exponent_mod wrapper function. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
7d0dedf951 big: Add Diminished Radix reduction. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
ee04fb1ce1 big: Remove temporary prints. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
2110778040 big: Add internal_int_exponent_mod_fast. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
65a15e9c06 big: Add internal_int_exponent_mod. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
c3a70ac277 Big: Added Barrett reduction setup. 2021-09-01 19:13:47 +02:00
Jeroen van Rijn
5e520f4e08 big: Add reduce_2k. 2021-09-01 19:13:47 +02:00
gingerBill
720884e0f1 Strip even more semicolons if followed by a } or ) on the same line 2021-08-31 23:47:57 +01:00
gingerBill
f57201bbd1 Remove unneeded semicolons from the core library 2021-08-31 22:32:53 +01:00
gingerBill
251da264ed Remove unneeded semicolons from the core library 2021-08-31 22:21:13 +01:00
Jeroen van Rijn
737b4fde1c big: Add _private_int_mul_balance. 2021-08-28 18:17:57 +02:00
Jeroen van Rijn
2cfd6b7024 big: Add _private_int_mul_high. 2021-08-28 14:59:13 +02:00
Jeroen van Rijn
852643e6ba Add tests for `internal_int_is_square'. 2021-08-28 13:27:46 +02:00
Jeroen van Rijn
ec4cae4f04 big: Add int_is_square. 2021-08-27 16:41:16 +02:00
Jeroen van Rijn
4153898c55 big: Add Montgomery Reduction. 2021-08-27 16:41:16 +02:00
Jeroen van Rijn
33df335ec9 big: Add internal_int_montgomery_calc_normalization. 2021-08-27 16:41:16 +02:00
Jeroen van Rijn
893cc013b5 big: Add Montgomery reduction. 2021-08-27 16:41:16 +02:00
gingerBill
ce7698c20e Correct core library usage of the new mem.new behaviour 2021-08-23 19:29:01 +01:00
gingerBill
f0437a4242 Enforce core:builtin and core:intrinsics for imports 2021-08-21 13:44:16 +01:00
Jeroen van Rijn
23d29be4d8 big: Update license to BSD-3. 2021-08-19 12:12:59 +02:00
Jeroen van Rijn
1ad0743a52 big: Nicely align test suite results. 2021-08-19 12:12:59 +02:00
Jeroen van Rijn
06cde91ba3 big: Enable Toom again. 2021-08-18 15:35:01 +02:00
Jeroen van Rijn
5fd7a5f32a big: Fix signed multiplication for some inputs. 2021-08-18 15:24:43 +02:00
Jeroen van Rijn
48c1f0ab59 big: Disable Toom for a moment. 2021-08-16 22:13:54 +02:00
Jeroen van Rijn
706e58c1c7 big: Add _private_int_mul_toom`. 2021-08-16 21:17:21 +02:00
Jeroen van Rijn
8b49bbb0fc big: Add _private_mul_karatsuba. 2021-08-16 16:10:10 +02:00
gingerBill
e3fef2dade Improve parsing for or_return; allow #force_inline foo() or_return; 2021-08-16 11:58:50 +01:00
gingerBill
c27b8a71fd Replace err != nil with or_return where appropriate 2021-08-15 17:52:10 +01:00
Jeroen van Rijn
0db86a0638 big: Add workaround for DLL globals bug. 2021-08-14 13:51:17 +02:00
Jeroen van Rijn
dc02566a84 big: Add _private_int_div_recursive. 2021-08-13 23:45:00 +02:00
Jeroen van Rijn
37be8d4091 big: Add internal_invmod. 2021-08-13 14:55:53 +02:00
Jeroen van Rijn
f72a0de074 big: Add inverse mod. 2021-08-13 01:41:33 +02:00
Jeroen van Rijn
eb22a49b02 big: Add int_from_bytes_*. 2021-08-11 20:59:54 +02:00