Commit Graph

  • dc02566a84 big: Add _private_int_div_recursive. Jeroen van Rijn 2021-08-13 23:45:00 +02:00
  • 0e84e06756 Fix lower and upper values for a bit_set[Enum] type. gingerBill 2021-08-13 14:17:27 +01:00
  • e6b2df4b2b Add extra error message check to lb_big_int_to_llvm gingerBill 2021-08-13 14:16:53 +01:00
  • 37be8d4091 big: Add internal_invmod. Jeroen van Rijn 2021-08-13 14:55:53 +02:00
  • a3930cb470 Improve fmt._user_formatters logic gingerBill 2021-08-13 12:44:55 +01:00
  • ad402726f1 Fix #1026 gingerBill 2021-08-13 12:21:14 +01:00
  • 8ff9f2e44f Fix #1077 gingerBill 2021-08-13 11:49:52 +01:00
  • 799a56bbcb Fix column in tokenizer (due to removed line) gingerBill 2021-08-13 10:50:05 +01:00
  • fbbd43a6d8 Merge branch 'master' of https://github.com/odin-lang/Odin gingerBill 2021-08-13 10:45:35 +01:00
  • 367bf0c7ae Fix #1076 gingerBill 2021-08-13 10:45:29 +01:00
  • f72a0de074 big: Add inverse mod. Jeroen van Rijn 2021-08-13 01:41:33 +02:00
  • 07baae04c9 Merge pull request #1075 from Kelimion/bigint Jeroen van Rijn 2021-08-11 21:43:54 +02:00
  • eb22a49b02 big: Add int_from_bytes_*. Jeroen van Rijn 2021-08-11 20:54:15 +02:00
  • ee24f2dd37 big: Improve int_to_bytes_*. Jeroen van Rijn 2021-08-11 18:48:31 +02:00
  • 12f9b6db63 big: Add int_to_bytes_{big, little} + Python compatible variants. Jeroen van Rijn 2021-08-11 15:48:20 +02:00
  • 851780b8f4 big: Add arguments and usage to test.py. Jeroen van Rijn 2021-08-11 12:31:55 +02:00
  • 5f34ff9f9f big: Add _private_int_sqr_toom. Jeroen van Rijn 2021-08-11 10:50:59 +02:00
  • 2b274fefbb big: Add _private_int_sqr_karatsuba. Jeroen van Rijn 2021-08-11 00:37:34 +02:00
  • 6c681b258c big: Add _private_int_sqr_comba. Jeroen van Rijn 2021-08-10 20:52:55 +02:00
  • 1f91a2fe65 big: Finish refactor. Jeroen van Rijn 2021-08-10 17:17:22 +02:00
  • 19ff27788c big: Refactoring. Jeroen van Rijn 2021-08-10 01:22:02 +02:00
  • 1ebb0bd9d6 big: More refactoring. Jeroen van Rijn 2021-08-09 22:20:53 +02:00
  • d505a05d36 big: More refactoring. Jeroen van Rijn 2021-08-09 20:54:16 +02:00
  • 07dca737f0 big: More refactoring. Jeroen van Rijn 2021-08-09 19:08:39 +02:00
  • 6d34a8344a big: Refactor helpers. Jeroen van Rijn 2021-08-09 17:24:29 +02:00
  • 40b7b9ecdf big: Refactor exponents and such. Jeroen van Rijn 2021-08-08 23:41:51 +02:00
  • 53bf66ce1e big: Prettify internal_cmp_digit. Jeroen van Rijn 2021-08-07 23:07:22 +02:00
  • fd95f50c56 big: Split up int_is_* comparison tests. Jeroen van Rijn 2021-08-07 22:34:40 +02:00
  • 777e17d80f big: Improve tunables. Jeroen van Rijn 2021-08-07 18:44:05 +02:00
  • d4a03acbc3 big: Split up int_mod_bits (res = val % (1 << bits)) Jeroen van Rijn 2021-08-07 18:00:07 +02:00
  • c3db24f834 big: Split up gcd + lcm. Jeroen van Rijn 2021-08-07 17:30:17 +02:00
  • 62dcccd7ef big: Move division internals. Jeroen van Rijn 2021-08-07 16:52:04 +02:00
  • e288a563e1 big: Move _mul private functions. Jeroen van Rijn 2021-08-07 15:27:27 +02:00
  • 6298226238 big: Switch choose over to internal implementations. Jeroen van Rijn 2021-08-06 22:58:39 +02:00
  • 9321616c80 big: Split more into public and internal. Jeroen van Rijn 2021-08-06 21:22:51 +02:00
  • 9890e7cfeb big: Improved zero_unused helper. Jeroen van Rijn 2021-08-06 17:50:34 +02:00
  • 4be48973ad big: Squashed shl1 bug when a larger dest was reused for a smaller result. Jeroen van Rijn 2021-08-06 14:57:53 +02:00
  • f8442e0524 big: Split up mul into internal and public parts. Jeroen van Rijn 2021-08-05 20:49:50 +02:00
  • 9858989b1c big: Split up add and sub into public and internal parts. Jeroen van Rijn 2021-08-05 18:38:38 +02:00
  • 511057ca36 big: Improve timing code. Jeroen van Rijn 2021-08-05 13:44:07 +02:00
  • 35d8976de4 bit: Optimized int_bitfield_extract. Jeroen van Rijn 2021-08-05 00:24:51 +02:00
  • 463003e86a bit: Improved bitfield extraction. Jeroen van Rijn 2021-08-04 21:25:38 +02:00
  • 85a2a8815e big: Some more work on constants. Jeroen van Rijn 2021-08-04 13:43:16 +02:00
  • 47397a6a48 Add faster divison. Jeroen van Rijn 2021-08-04 00:59:15 +02:00
  • 2323ca1622 big: Add MATH_BIG_FORCE_64/32_BIT flags. Jeroen van Rijn 2021-08-04 00:40:27 +02:00
  • fc0a92f8ac big: Add constants. Jeroen van Rijn 2021-08-03 19:52:14 +02:00
  • 97d80d03f9 big: Error.None -> nil Jeroen van Rijn 2021-08-03 17:07:25 +02:00
  • 627872db97 big: Timed factorial. Jeroen van Rijn 2021-08-02 22:23:39 +02:00
  • a27612ec6a Add _mul_comba path. Jeroen van Rijn 2021-08-02 21:01:46 +02:00
  • 491e4ecc74 big: Add binary split factorial. Jeroen van Rijn 2021-08-02 17:47:07 +02:00
  • cd0ce7b76e big: Add choose. Jeroen van Rijn 2021-08-02 02:07:14 +02:00
  • 320387c4ee big: Add gcd_lcm fast path in wrapper. Jeroen van Rijn 2021-08-02 01:11:44 +02:00
  • 6424a5a8dd big: Refactored gcm and lcm to use a common function. Jeroen van Rijn 2021-08-01 23:40:33 +02:00
  • 06f5a6c785 big: Special case gcd(0,0) + lcm(0,0). Jeroen van Rijn 2021-08-01 22:05:20 +02:00
  • 8b1d8c8453 big: Add lcm and its test. Jeroen van Rijn 2021-08-01 21:28:19 +02:00
  • 0028cb0258 big: Test gcd. Jeroen van Rijn 2021-08-01 20:39:51 +02:00
  • b15ee059ad big: Add gcd. Jeroen van Rijn 2021-08-01 19:36:23 +02:00
  • 50feeaa285 big: Add test for factorial. Jeroen van Rijn 2021-07-31 23:47:52 +02:00
  • e80ac18324 big: Add factorial, have tests use hex strings. Jeroen van Rijn 2021-07-31 23:25:59 +02:00
  • db0196abc7 big: Test root_n. Jeroen van Rijn 2021-07-31 18:58:46 +02:00
  • 149c7b88df big: Fix sqrt, div, add with certain inputs. Jeroen van Rijn 2021-07-31 17:58:52 +02:00
  • 7afd1b15a8 big: test_pow for larger ints. Jeroen van Rijn 2021-07-30 19:28:44 +02:00
  • f12672727d big: Add test_pow and some more switches. Jeroen van Rijn 2021-07-30 18:55:37 +02:00
  • 2179cc2bc7 big: Improved test driver. Jeroen van Rijn 2021-07-30 16:45:41 +02:00
  • 961adfedd9 big: Test negative inputs as well. Jeroen van Rijn 2021-07-29 21:33:45 +02:00
  • 385b9c9922 big: Add tests for log. Jeroen van Rijn 2021-07-29 21:12:59 +02:00
  • 922df6a438 big: Add more exhaustive tests. Jeroen van Rijn 2021-07-29 18:25:32 +02:00
  • c1a001c331 big: Add randomized testing. Jeroen van Rijn 2021-07-29 17:29:32 +02:00
  • 13fab36639 big: Fix mul. Jeroen van Rijn 2021-07-29 16:37:16 +02:00
  • 708389a7ee big: Improve test driver. Jeroen van Rijn 2021-07-28 22:35:25 +02:00
  • fb6c9af1ae big: Improve tests. Jeroen van Rijn 2021-07-28 21:57:49 +02:00
  • 85aa4dd670 big: Start test suite. Jeroen van Rijn 2021-07-28 21:09:52 +02:00
  • 74258a170a big: fix itoa base PoT other than 16. Jeroen van Rijn 2021-07-28 15:59:39 +02:00
  • 2fbff25a18 big: Improve int_bitfield_extract. Jeroen van Rijn 2021-07-28 15:23:48 +02:00
  • 9c150381bf big: Add rand. Jeroen van Rijn 2021-07-28 00:58:28 +02:00
  • 531c4936dd big: Add root_n. Jeroen van Rijn 2021-07-27 20:33:32 +02:00
  • 2aae1016ab big: Add sqrt. Jeroen van Rijn 2021-07-27 16:41:20 +02:00
  • 9c2468ecf7 big: Add atoi. Jeroen van Rijn 2021-07-26 21:32:29 +02:00
  • 0a431eef19 big: Add another way to estimate radix size. Jeroen van Rijn 2021-07-26 16:32:59 +02:00
  • 9646d1f2b8 big: Add submod, mulmod, sqrmod. Jeroen van Rijn 2021-07-26 15:07:58 +02:00
  • 5f7aeb3045 big: Add mod and addmod. Jeroen van Rijn 2021-07-26 14:55:03 +02:00
  • 1ebaa9fb3b big: itoa now works for arbitrary radixes. Jeroen van Rijn 2021-07-25 19:32:08 +02:00
  • c2255c6c19 big: Add div. Jeroen van Rijn 2021-07-25 13:25:40 +02:00
  • 2884fa5506 big: add div by 3. Jeroen van Rijn 2021-07-24 19:01:55 +02:00
  • 31c94bd7f8 big: Finish log, fix sqr. Jeroen van Rijn 2021-07-24 13:40:36 +02:00
  • 5f63e3952e big: Correct pow bugs from the original. Jeroen van Rijn 2021-07-24 09:59:38 +02:00
  • d953e40fb3 big: Add pow. Jeroen van Rijn 2021-07-23 22:47:44 +02:00
  • c3a4d7dda2 big: Fast square method. Jeroen van Rijn 2021-07-23 21:20:37 +02:00
  • b4a29844e9 big: Add multiplication. Jeroen van Rijn 2021-07-23 19:04:55 +02:00
  • 0254057f1b big: Add swap. Jeroen van Rijn 2021-07-23 01:13:24 +02:00
  • f34ba44bf8 big: Add shl, shr and shrmod. Jeroen van Rijn 2021-07-22 23:00:36 +02:00
  • d4d863c4db big: Add mod_power_of_two. Jeroen van Rijn 2021-07-22 18:12:19 +02:00
  • 78c0877994 big: Add get(a, type) and get_float. Jeroen van Rijn 2021-07-22 17:21:39 +02:00
  • 1d0b37c1d8 big: add shl1, shr1. Jeroen van Rijn 2021-07-21 17:56:15 +02:00
  • 7648f2e655 big: Finish big ZII refactor. Jeroen van Rijn 2021-07-21 13:46:37 +02:00
  • d9efa6c8b5 big: More ZII refactoring. Jeroen van Rijn 2021-07-21 09:06:28 +02:00
  • 2e372b33a3 big: More ZII refactoring. Jeroen van Rijn 2021-07-20 22:59:26 +02:00
  • 687c211a58 big: ZII. Jeroen van Rijn 2021-07-20 20:18:36 +02:00
  • 4eadd0867d big: Continuing to refactor. Jeroen van Rijn 2021-07-20 19:51:39 +02:00
  • 9dba17cf87 bigint: refactor to big.Int instead of bigint.Int. Jeroen van Rijn 2021-07-20 17:15:06 +02:00