aboutsummaryrefslogtreecommitdiff
path: root/core/math/big/helpers.odin
Commit message (Collapse)AuthorAgeFilesLines
* Clean up `core:math/big`Jeroen van Rijn48 hours1-12/+1
| | | | | | | | - Deprecate the u64/u32 implementation so we can use fewer nails and have an easier time of maintaining and optimizing the package going forward. The remaining implementation still works on 32-bit targets, it's just a smidge less efficient. - Use only 1 nail instead of 4. The tests now run 3.5% faster as a result. Future optimizations may including using fully packed backing (no nails) using `intrinsics.overflow_*` to handle borrow and carry safely.
* Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-281-1/+1
| | | | This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
* Package lines for `core:math` and more.Jeroen van Rijn2025-10-091-3/+2
|
* Change the way math/big constants are initializedJeroen van Rijn2025-09-101-8/+11
|
* Require `@(init)` and `@(fini)` to be `proc "contextless" ()`gingerBill2025-08-081-8/+10
|
* Imply `#no_capture` to all variadic parametersgingerBill2024-07-141-5/+5
|
* Add more uses of `#no_capture`gingerBill2024-07-141-5/+5
|
* Remove the need for `rand` in `core:math/big`gingerBill2024-06-151-5/+5
|
* fix a couple of -vet-style failures after ↵Laytan2024-05-091-1/+1
| | | | f54977336b27c32eab52b77d94e7b1610f4350cf
* math.big constants were no longer initializeddev-2024-03Jeroen van Rijn2024-03-031-1/+6
| | | | Fixes #3243
* Replace `core:*` to `base:*` where appropriategingerBill2024-01-281-1/+1
|
* Replace `x in &y` Use `&v in y` syntax through core & vendor for ↵gingerBill2023-06-261-3/+3
| | | | `switch`/`for` statements
* Simplify docs to hide the copyrightgingerBill2022-01-171-4/+2
|
* `big.Rat` (Experimental)gingerBill2021-10-291-6/+30
|
* Correct math/biggingerBill2021-09-081-6/+1
|
* Strip semicolons in core which were missinggingerBill2021-09-081-3/+9
|
* big: Remove `core:fmt` usage + Add a little demo to examples/demo.Jeroen van Rijn2021-09-061-2/+0
|
* Merge branch 'master' into optional-semicolonsgingerBill2021-09-061-12/+11
|\
| * Add `internal_int_(pack, unpack)`.Jeroen van Rijn2021-09-061-7/+7
| |
| * big: Add `internal_random_prime`.Jeroen van Rijn2021-09-051-3/+3
| |
| * big: Add `internal_int_exponent_mod`.Jeroen van Rijn2021-09-011-2/+1
| |
* | Strip even more semicolons if followed by a `}` or `)` on the same linegingerBill2021-08-311-15/+15
| |
* | Remove unneeded semicolons from the core librarygingerBill2021-08-311-21/+21
| |
* | Remove unneeded semicolons from the core librarygingerBill2021-08-311-251/+251
|/
* big: Update license to BSD-3.Jeroen van Rijn2021-08-191-1/+1
|
* big: Add `_private_mul_karatsuba`.Jeroen van Rijn2021-08-161-4/+2
|
* Improve parsing for `or_return`; allow `#force_inline foo() or_return;`gingerBill2021-08-161-18/+18
|
* Replace `err != nil` with `or_return` where appropriategingerBill2021-08-151-50/+46
|
* big: Add `int_from_bytes_*`.Jeroen van Rijn2021-08-111-3/+138
|
* big: Improve `int_to_bytes_*`.Jeroen van Rijn2021-08-111-41/+67
|
* big: Add `int_to_bytes_{big, little}` + Python compatible variants.Jeroen van Rijn2021-08-111-1/+143
|
* big: Add arguments and usage to test.py.Jeroen van Rijn2021-08-111-1/+1
|
* big: Add `_private_int_sqr_comba`.Jeroen van Rijn2021-08-111-2/+0
|
* big: Finish refactor.Jeroen van Rijn2021-08-111-61/+47
|
* big: Refactoring.Jeroen van Rijn2021-08-111-1/+1
|
* big: More refactoring.Jeroen van Rijn2021-08-111-64/+47
|
* big: More refactoring.Jeroen van Rijn2021-08-111-312/+145
|
* big: Refactor helpers.Jeroen van Rijn2021-08-111-11/+14
|
* big: Improve tunables.Jeroen van Rijn2021-08-111-1/+1
|
* big: Improved `zero_unused` helper.Jeroen van Rijn2021-08-111-11/+6
|
* big: Split up `mul` into internal and public parts.Jeroen van Rijn2021-08-111-5/+7
|
* big: Improve timing code.Jeroen van Rijn2021-08-111-26/+11
|
* bit: Optimized `int_bitfield_extract`.Jeroen van Rijn2021-08-111-38/+60
|
* bit: Improved bitfield extraction.Jeroen van Rijn2021-08-111-57/+29
|
* big: Some more work on constants.Jeroen van Rijn2021-08-111-18/+38
|
* Add faster divison.Jeroen van Rijn2021-08-111-2/+2
|
* big: Add `MATH_BIG_FORCE_64/32_BIT` flags.Jeroen van Rijn2021-08-111-1/+1
|
* big: Add constants.Jeroen van Rijn2021-08-111-25/+68
|
* big: `Error.None` -> `nil`Jeroen van Rijn2021-08-111-45/+45
|
* big: Add binary split factorial.Jeroen van Rijn2021-08-111-7/+9
|