Commit Graph

164 Commits

Author SHA1 Message Date
gingerBill
b8c4bf2afb Add #partial [Enum]Type{...} support to check for missing enumerated array fields 2022-02-05 14:02:21 +00:00
gingerBill
6418ec3b21 Correct #sparse usage and error messages 2022-02-05 13:09:16 +00:00
gingerBill
fb01dfe048 Improve docs_writer.cpp 2022-01-17 22:17:07 +00:00
gingerBill
c85ac955f7 Simplify docs to hide the copyright 2022-01-17 19:00:47 +00:00
Jeroen van Rijn
938744b276 [math/big] Rename internal_int_shl_digit to _private_int_shl_leg.
Same for the SHR variant. These are pure implementation details to shift by a leg/word at a time.
Prevent accidental usage.
2021-12-11 15:22:24 +01:00
gingerBill
84b84d9f7d Fix rat_set_f64 2021-12-11 12:47:05 +00:00
Jeroen van Rijn
c771ea9794 Merge pull request #1358 from Kelimion/big_math_fix
[math/big] Return 0, .Integer_Underflow if T = unsigned and bigint is negative.
2021-12-09 16:41:37 +01:00
gingerBill
94bad4d786 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-12-09 15:36:12 +00:00
gingerBill
1e17d5d86f Add utility procedures to get low values 2021-12-09 15:34:35 +00:00
gingerBill
1e9b30666f Minor style change 2021-12-09 15:34:17 +00:00
Jeroen van Rijn
b2b79b86f0 [math/big] Return 0, .Integer_Underflow if trying to get a negative number to an unsigned int. 2021-12-09 16:31:54 +01:00
Jeroen van Rijn
c94098c2ab [math/big] Fix int_set and int_get. 2021-12-09 16:14:04 +01:00
gingerBill
9d4fe90356 Fix bugs in big.Rat caused by typos 2021-12-07 17:35:41 +00:00
gingerBill
6a101e69a2 Implement ldexp and frexp in native Odin 2021-11-16 14:04:49 +00:00
gingerBill
87952fdb8e big.Rat (Experimental) 2021-10-29 12:40:54 +01:00
gingerBill
5006674a9b Correct math/big 2021-09-08 13:14:13 +01:00
gingerBill
ca33cb990b Strip semicolons in core which were missing 2021-09-08 13:12:38 +01:00
Jeroen van Rijn
f7601a759b Move math/big tests under tests/. 2021-09-07 19:51:56 +02:00
Jeroen van Rijn
fbebf4bc4e big: Add Python implementation of LCM. 2021-09-07 14:17:14 +02:00
Jeroen van Rijn
abb15ddb38 big: Implement isqrt in Python for the tests. 2021-09-07 13:55:37 +02:00
Jeroen van Rijn
c4ec459d28 bit: Force Python3 for CI. 2021-09-07 13:26:34 +02:00
Jeroen van Rijn
86cfb2ea82 big CI: Set relative path to Odin. 2021-09-07 13:22:44 +02:00
Jeroen van Rijn
0605a9f239 big: Run tests under CI. 2021-09-07 13:17:47 +02:00
Jeroen van Rijn
008048e199 big: Move tests into their own package. 2021-09-07 12:06:58 +02:00
Jeroen van Rijn
5619b349be big: Remove core:fmt usage + Add a little demo to examples/demo. 2021-09-06 23:26:19 +02:00
Jeroen van Rijn
2c13315e72 compress: Update BSD-3 license + remove semicolons from compressed example. 2021-09-06 21:33:40 +02:00
gingerBill
2800d4b8d0 Merge branch 'master' into optional-semicolons 2021-09-06 16:46:57 +01:00
Jeroen van Rijn
de5d897b5c Add internal_int_(pack, unpack). 2021-09-06 12:57:48 +02:00
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