Commit Graph

640 Commits

Author SHA1 Message Date
Barinzaya
bbaec119e5 Added tests for math.nextafter. 2025-04-07 16:27:41 -04:00
Jeroen van Rijn
a5e513567b Optimize regex match iterator.
Reuse virtual machine and capture groups between matches.
2025-04-07 14:58:41 +02:00
Jeroen van Rijn
9a2b6c01aa Return loop index in regex iterator. 2025-04-06 21:45:37 +02:00
Jeroen van Rijn
66077add33 {.Glboal} implicit in regex allocator. 2025-04-06 21:13:02 +02:00
Jeroen van Rijn
918d57fe01 Keep -vet happy. 2025-04-06 14:24:17 +02:00
Jeroen van Rijn
cdc56dc691 Add iterator for core:text/regex.
Usage:
```odin
haystack := `xxfoobarxfoobarxx`
pattern  := `f(o)ob(ar)`

it := regex.create_iterator(haystack, pattern, {.Global}) or_return
defer regex.destroy(it)

for capture in regex.match(&it) {
	fmt.println(capture)
}
```
2025-04-06 14:19:14 +02:00
Jeroen van Rijn
8d283cefa0 Merge pull request #5007 from laytan/net-errors-overhaul
net: rework errors to be cross-platform
2025-04-05 17:53:10 +02:00
Laytan Laats
ff7d55a8e1 net: rework errors to be cross-platform 2025-04-05 17:35:19 +02:00
Jeroen van Rijn
843467bb8f Fix #5004
Fixes constant NaN to constant NaN comparisons.
2025-04-05 14:47:30 +02:00
gingerBill
4a595f9dac Merge pull request #4954 from Feoramund/os2-path
Add new path API for `os2`
2025-03-24 11:19:21 +00:00
Yawning Angel
f3f5fbd373 test/benchmarks/crypto: Improve benchmarks
- Use text/table for results
- Add more benchmarks
2025-03-23 19:14:33 +09:00
Yawning Angel
b220df60b8 core:crypto/deoxysii: Initial import 2025-03-23 19:14:33 +09:00
Yawning Angel
c2786a6dd5 core/crypto/aegis: Initial import 2025-03-23 19:14:33 +09:00
Yawning Angel
9fdcc4e39a core/crypto/x448: Initial import 2025-03-23 19:14:33 +09:00
Feoramund
3525e71739 Add tests for new os2 path API 2025-03-21 19:14:15 -04:00
Feoramund
4e7f54c565 Decouple usage of filepath from os2 2025-03-21 19:14:15 -04:00
gingerBill
539e9bd2e3 Merge pull request #4836 from laytan/fix-wrong-out-of-memory
fix wrong out of memory in edge cases, just try allocate from block for one source of truth
2025-03-20 17:20:26 +00:00
gingerBill
bb429696f8 Merge pull request #4877 from laytan/os2-additions
os/os2: recursive directory walker, expose errors in read_directory, file clone
2025-02-28 14:37:47 +00:00
Feoramund
6054b921db Add tests for new safe to_cstring 2025-02-27 18:54:38 -05:00
Laytan Laats
0e4140a602 os/os2: recursive directory walker, expose errors in read_directory, file clone
Adds a directory walker, a method of exposing and retrieving errors from
the existing read directory iterator, allows reusing of the existing
read directory iterator, and adds a file clone procedure
2025-02-24 20:40:44 +01:00
Laytan Laats
55302280d8 fix addrinfo struct def
Fixes #4816
2025-02-12 19:24:27 +01:00
Laytan Laats
ae0f69fbe2 cleanup test arenas 2025-02-12 19:13:16 +01:00
Laytan Laats
7df5be2131 fix wrong out of memory in edge cases, just try allocate from block for one source of truth 2025-02-12 19:09:21 +01:00
gingerBill
4ea96bd1c9 Merge pull request #4779 from jkenda/master
encoding/json: marshal enumerated arrays to objects with key-value pairs
2025-02-08 08:01:36 +00:00
Laytan Laats
5defddffd0 reorganize tests and handle endian 2025-02-06 21:44:34 +01:00
Laytan Laats
9241d7c698 add tests for abs() on floats 2025-02-06 21:20:15 +01:00
jkenda
51b80c5a20 encoding/json: marshal enumerated arrays to objects with key-value pairs 2025-02-01 10:32:07 +01:00
Laytan Laats
b673642412 os/os2: add get_executable_path and get_executable_directory 2025-01-21 18:54:45 +01:00
avanspector
9868c8292b Merge branch 'master' of https://github.com/avanspector/Odin 2025-01-10 06:42:42 +01:00
avanspector
a704000c34 Haiku: add posix tests 2025-01-10 06:42:19 +01:00
gingerBill
2a29322c91 Merge pull request #4605 from karl-zylinski/tracking-allocator-bad-free-default-to-crash
Make tracking allocator default to crashing on a bad free instead of adding to bad_free_array
2025-01-08 16:24:20 +00:00
gingerBill
a3b4280cf7 Merge pull request #4633 from spahnke/fix-matrix-adjugate
Fix matrix adjugate
2025-01-06 09:36:18 +00:00
gingerBill
5df699abf2 Add #+feature dynamic-literals to test 2025-01-05 14:03:08 +00:00
gingerBill
3d984d75cc Add #+feature dynamic-literals to tests 2025-01-05 14:00:23 +00:00
gingerBill
a300a860ec Add #+feature dynamic-literals to tests 2025-01-05 13:46:58 +00:00
fleandro
1550eced04 also add a test for non power of 2 N for good measure 2025-01-03 16:58:03 +00:00
fleandro
c93e096d8f fix N=1 and cleanup tests 2025-01-03 16:50:05 +00:00
fleandro
555bca2cb4 fix test leaks 2025-01-03 15:46:02 +00:00
fleandro
e3de02eaa8 runtime: map_cell_index_static produced wrong results when the number of elements per cell was a power of 2 2025-01-03 15:33:34 +00:00
Sebastian Pahnke
b21fc19233 Add regression tests for inverse_transpose 2024-12-28 10:29:44 +01:00
Sebastian Pahnke
ec5ee19c01 Add regression tests for matrix inverse 2024-12-28 10:29:44 +01:00
Sebastian Pahnke
02a9d8560f Test symmetry 2024-12-28 10:29:44 +01:00
Sebastian Pahnke
0d955e55db Add tests for determinants because their calculation depends on the adjugate 2024-12-28 10:29:43 +01:00
Sebastian Pahnke
e8a202f0a2 Add tests for glsl and hlsl variants 2024-12-28 10:29:43 +01:00
Sebastian Pahnke
8a91e0bb19 Add regression tests reproducing the issue 2024-12-28 10:29:43 +01:00
Karl Zylinski
e5f32e1455 Makes tracking allocator default to crashing on a bad free instead of add to bad_free_array. The bad_free_array remains to not break old code. The new default behavior is implemented in a callback that you can override, there's a second provided callback that provides the old behavior where an element was added to bad_free_array. Rationale: Many people are just checking the allocation_map, but don't check the bad free array. Several examples throughout core that use tracking allocator don't check bad_free_array either, so people have been taught not to check it. 2024-12-21 15:49:48 +01:00
Gavin
25ae3d0785 Add regression test for #4553
This test is definitely imperfect (should have no erroneous failures,
only erroneous passes), but should serve as a good smoke test
if matrix alignment is ever broken again. Looking at the generated LLVM,
there is a bunch of weird choices for alignment chosen that might be
worth looking into.

It's also worth noting that the failure mode of this test is a #GP
exception, which I don't know how well the test runner handles in a
larger test corpus.
2024-12-05 15:26:18 -05:00
Adam Zadrożny
ce51b79a37 Fix the unused variable errors 2024-12-04 21:09:47 +01:00
Adam Zadrożny
5dfc24882f improve strings.index_multi
There's no point searching for substrings after lowest_index,
so let's not.

This significantly improves performance on long strings.
2024-12-04 14:29:49 +01:00
Ycros
bf63e9b093 Add test for regex preallocated captures. 2024-12-04 14:38:07 +11:00