aboutsummaryrefslogtreecommitdiff
path: root/core/math
Commit message (Collapse)AuthorAgeFilesLines
* core:math/rand small documentation fixWrath2025-12-221-3/+3
|
* Merge pull request #5864 from Skyress-s/mastergingerBill2025-12-011-3/+3
|\ | | | | fix: linalg.quaternion_from_forward_and_up()
| * Fixed issue where the linalg.quaternion_from_forward_and_up could return ↵Mathias Mohn Mørch2025-10-301-3/+3
| | | | | | | | incorrect values in certain scenarioes
* | Fix #5978: choice_bit_set respects bit_set domainAndreas Stenmark2025-11-301-4/+7
| |
* | base/runtime: Add chacha8rand as the default RNGYawning Angel2025-11-291-3/+42
| |
* | math/rand: Add xoshiro256**Yawning Angel2025-11-291-0/+123
| | | | | | | | | | This is extracted from the previos PR as an improved non-cryptographic PRNG option.
* | math/rand: Add a copy of the existing PCG PRNGYawning Angel2025-11-291-0/+107
| | | | | | | | | | | | The switch to the new RNG will be a breaking change as the outputted sequence will change for a given seed. This is intended for backward compatibility purposes only.
* | Fix `core:math/ease`Jeroen van Rijn2025-11-281-2/+3
| |
* | Always use new itoa method when MATH_BIG_FORCE_32_BITJeroen van Rijn2025-11-281-1/+1
| |
* | changed panic to assertXotchkass2025-11-281-24/+8
| |
* | Add range-based random number generation functionsXotchkass2025-11-281-0/+328
| |
* | Another little bit faster.Jeroen van Rijn2025-11-271-4/+23
| |
* | Merge pull request #5968 from Xotchkass/rand_u_maxJeroen van Rijn2025-11-271-0/+160
|\ \ | | | | | | Add `uint32_max`, `uint64_max`, `uint128_max` and `uint_max` procs to `core:math/rand`
| * | add uint32_max, uint64_max, uint128_max and uint_max procs to math/randXotchkass2025-11-261-0/+160
| | |
* | | Switch between old and new itoa method based on optimization level + digit sizeJeroen van Rijn2025-11-271-5/+14
| | |
* | | Speed up big.itoaJeroen van Rijn2025-11-272-6/+84
| | | | | | | | | | | | | | | Extract 18 (64-bit) or 8 (32-bit) digits per big division. This gives a 2.5x speedup for a 1024-bit bigint.
* | | Use `@(rodata)` where possiblegingerBill2025-11-274-6/+14
| | |
* | | Add alias `Okay = None`gingerBill2025-11-271-0/+2
| | |
* | | Use `< 0` instead of `== -1` for comparisonsgingerBill2025-11-275-14/+14
| | |
* | | Handle `Allocator_Error` correctly in `core:math/big`gingerBill2025-11-273-5/+19
|/ /
* | rerrange math.sign and math.sign_bit overloadsPhil Homan2025-11-231-24/+24
| |
* | add math.sign and math.sign_bit overloads for int typesPhil Homan2025-11-221-1/+28
| |
* | Fix #5931Jeroen van Rijn2025-11-182-19/+10
| | | | | | | | Fix #5931 and add test case for it.
* | Merge pull request #5859 from odin-lang/bill/change-licensedev-2025-11gingerBill2025-11-0410-10/+10
|\ \ | | | | | | Change Odin's LICENSE to zlib from BSD 3-clause
| * | Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-2810-10/+10
| | | | | | | | | | | | 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.
* | | Fix docs on int*_maxNicknEma2025-11-041-4/+4
| | |
* | | Cleanup ease_inversethetarnav2025-11-011-29/+31
| | |
* | | Add ease inverse proceduresthetarnav2025-11-013-208/+459
| |/ |/|
* | Add half support to all proc groups and add ashalf proc groupNick Driscoll2025-10-282-2/+759
| |
* | Add all half scalar, vector, and matrix typesNick Driscoll2025-10-281-0/+25
|/
* core:math/bits: Finish docs, add `bitfield_extract` + `bitfield_insert` test.Jeroen van Rijn2025-10-141-34/+886
|
* core:math/bits: Add docs + tests for `rotate_left*` and `log2`Jeroen van Rijn2025-10-141-10/+169
|
* Link doc lines to source specifications.Jeroen van Rijn2025-10-101-2/+2
|
* Further overhaul of package line comments.Jeroen van Rijn2025-10-0912-17/+11
|
* Package lines for `core:math` and more.Jeroen van Rijn2025-10-0922-42/+38
|
* Fix #5764gingerBill2025-10-071-1/+6
|
* Fix srgb <-> linear rgb conversion functions in `core:math/linalg` and add ↵Franz Hoeltermann2025-10-021-60/+75
| | | | implementations for vector3
* Change the way math/big constants are initializedJeroen van Rijn2025-09-102-20/+12
|
* remove private _random_u64 and move it's functionality into public uint64Xotchkass2025-08-141-19/+16
|
* use runtime.random_generator_read_bytes in read procedure instead of filling ↵Xotchkass2025-08-141-12/+2
| | | | it manually.
* 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
|
* Add deprecation warnings for `strconv.append_*`Feoramund2025-06-051-0/+5
|
* Rename `fixed.append` to `fixed.write` too, for good measureFeoramund2025-06-051-2/+2
|
* Clarify `strconv.append_*` to `strconv.write_*`Feoramund2025-06-051-3/+3
|