aboutsummaryrefslogtreecommitdiff
path: root/core/math/big
Commit message (Collapse)AuthorAgeFilesLines
* Change the way math/big constants are initializedJeroen van Rijn2025-09-102-20/+12
|
* Remove unused importgingerBill2025-08-081-1/+0
|
* Require `@(init)` and `@(fini)` to be `proc "contextless" ()`gingerBill2025-08-082-12/+15
|
* Fix memory leak in `internal_rat_norm`blob18072025-06-231-0/+2
|
* Turn `core:math/bìg` tests into regular `core:testing` tests.Jeroen van Rijn2025-06-112-3/+3
| | | | | | `core:math/big` has been verified against Python's big integer implementation long enough. Turn it into a regular regression test using the `core:testing` framework, testing against a generated corpus of test vectors.
* Add initial tests for big rationalsJeroen van Rijn2025-06-101-3/+2
|
* Move negation in `internal_rat_to_float` to end of procedureFeoramund2025-06-101-3/+3
| | | | | | | This should cause a compiler error, due to the assignment to a named return value in a deferred block. Fixes #4565
* Deprecate old @(deprecated) things.Jeroen van Rijn2025-06-061-1/+1
|
* Fix a range check in int_atoi in core:math/big.Barinzaya2025-05-241-1/+1
| | | | | | | The check seems to have been assuming that rune comparisons are unsigned, but they're signed. This was causing an assertion failure for certain input characters (anything with an ASCII value less than '+'/43).
* Moved all packages in core, base, vendor, tests and examples to use new #+ ↵Karl Zylinski2024-09-141-1/+1
| | | | file tag syntax.
* Fix `-vet-tabs` issuesgingerBill2024-08-241-1/+1
|
* Imply `#no_capture` to all variadic parametersgingerBill2024-07-142-9/+9
|
* Add more uses of `#no_capture`gingerBill2024-07-142-9/+9
|
* Fix bug in div3 fast path.Jeroen van Rijn2024-06-291-1/+1
|
* Fix loads of indentation issues with mixing spaces and tabsgingerBill2024-06-291-23/+23
|
* Remove the need for `rand` in `core:math/big`gingerBill2024-06-153-15/+13
|
* Elide unnecessary conditionJeroen van Rijn2024-06-141-1/+1
|
* Fix big.shrink not actually shrinkingJosh Jones2024-06-141-2/+7
|
* Merge pull request #3718 from Feoramund/add-missing-big-atoi-aliasJeroen van Rijn2024-06-101-0/+1
|\ | | | | Add missing `string_to_int` alias in `core:math/big`
| * Add missing `string_to_int` alias in `core:math/big`Feoramund2024-06-091-0/+1
| |
* | Add permutation & combination procedures to `core:math/big`Feoramund2024-06-091-0/+60
|/
* Remove unused code in `internal_random_prime`Feoramund2024-05-281-3/+0
|
* fix a couple of -vet-style failures after ↵Laytan2024-05-093-5/+5
| | | | f54977336b27c32eab52b77d94e7b1610f4350cf
* Fix `big.internal_random_prime` with `Second_MSB_On`Feoramund2024-04-151-0/+14
|
* Add `#no_broadcast` procedure parameter to disallow automatic array ↵gingerBill2024-03-211-1/+1
| | | | programming broadcasting on procedure arguments
* Expose internal invmod and int_exponent_mod with more consistent namingEd Yu2024-03-122-2/+6
|
* Fix typo in big.internal_invmodJeroen van Rijn2024-03-082-3416/+3359
| | | | Fixes #3253
* For invmod, b has to be > 1, fix a logic typoEd Yu2024-03-041-3/+3
|
* math.big constants were no longer initializeddev-2024-03Jeroen van Rijn2024-03-031-1/+6
| | | | Fixes #3243
* Replace `core:*` to `base:*` where appropriategingerBill2024-01-288-10/+10
|
* Fix missing clamp in core:math/big random.Jeroen van Rijn2023-11-271-1/+1
|
* Partial pseudo-revertgingerBill2023-10-021-4/+8
|
* Minor cleanups to the core librarygingerBill2023-09-302-2/+2
|
* Use `or_break` and `or_continue` where appropriate in the core librarygingerBill2023-09-301-8/+4
|
* Rename bitwise operations to `bit_or` etcgingerBill2023-09-281-8/+8
|
* Replace `x in &y` Use `&v in y` syntax through core & vendor for ↵gingerBill2023-06-263-6/+6
| | | | `switch`/`for` statements
* Use positional and named arguments within the core librarygingerBill2023-06-211-1/+1
|
* Add parentheses around `or_return` uses in an unary expressiongingerBill2023-04-271-6/+6
|
* Merge pull request #1544 from FancyKillerPanda/build_ignoregingerBill2022-11-032-3/+1
|\ | | | | Changed `//+ignore` to `//+build ignore` and emit a warning for unknown tags
| * Changed //+ignore to //+build ignore.FancyKillerPanda2022-02-242-3/+1
| |
* | fix some typoscui fliter2022-08-051-1/+1
|/ | | | Signed-off-by: cui fliter <imcusg@gmail.com>
* Add `#partial [Enum]Type{...}` support to check for missing enumerated array ↵gingerBill2022-02-051-0/+1
| | | | fields
* Correct `#sparse` usage and error messagesgingerBill2022-02-051-1/+1
|
* Improve docs_writer.cppgingerBill2022-01-173-25/+24
|
* Simplify docs to hide the copyrightgingerBill2022-01-1711-37/+47
|
* [math/big] Rename `internal_int_shl_digit` to `_private_int_shl_leg`.Jeroen van Rijn2021-12-113-129/+96
| | | | | Same for the SHR variant. These are pure implementation details to shift by a leg/word at a time. Prevent accidental usage.
* Fix `rat_set_f64`gingerBill2021-12-111-5/+5
|
* Merge pull request #1358 from Kelimion/big_math_fixJeroen van Rijn2021-12-091-0/+5
|\ | | | | [math/big] Return 0, .Integer_Underflow if T = unsigned and bigint is negative.
| * [math/big] Return 0, .Integer_Underflow if trying to get a negative number ↵Jeroen van Rijn2021-12-091-0/+5
| | | | | | | | to an unsigned int.
* | Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2021-12-092-27/+48
|\|