Commit Graph

106 Commits

Author SHA1 Message Date
FourteenBrush
5811525592 Add slice.suffix_length 2025-07-03 16:51:38 +02:00
Laytan Laats
22ab8935c4 slice: use card in bitset_to_enum_slice_with_make
Fixes #4870
2025-02-24 21:10:12 +01:00
Giuliano Macedo
6785a485e3 docs: improved reinterpret docstring 2024-12-14 10:10:06 -03:00
Bazzagibbs
cb0c1663b7 Add core:slice.size to get the byte size of a slice's backing data 2024-11-11 14:04:59 +11:00
Jeroen van Rijn
eba7be34e7 Add slice.to_type 2024-10-01 23:27:15 +02:00
Laytan
38fedf2631 Merge pull request #4304 from kawaii-Code/linear_search_reverse
Add linear_search_reverse and linear_search_reverse_proc
2024-09-29 21:18:49 +02:00
Nia
253edb51f7 Fix markup in linear_search and binary_search docs 2024-09-29 17:08:54 +03:00
Nia
3c80f15a7a Remove pointless #no_bounds_check 2024-09-29 15:51:30 +03:00
Nia
3337d6b264 Add linear_search_reverse and linear_search_reverse_proc 2024-09-25 16:41:55 +03:00
Antonino Simone Di Stefano
5bced00f5d Return Allocator_Error in map_entry_infos 2024-09-22 23:25:46 +02:00
Antonino Simone Di Stefano
baf5a06fba Remove address operator, which lead to a type error 2024-09-22 23:16:59 +02:00
Antonino Simone Di Stefano
355f84d0cd Use package qualifier for type_info_base and Type_Info_map 2024-09-21 00:30:50 +02:00
Karl Zylinski
19f0127e55 Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax. 2024-09-14 18:27:49 +02:00
Feoramund
806c87d71d Check for zero-length slices in slice.equal 2024-09-03 02:48:26 -04:00
Jeroen van Rijn
1242b6e82f Improve slice.binary_search_by 2024-08-10 18:26:59 +02:00
gingerBill
5413a8b744 Even more style fixes 2024-06-29 19:11:36 +01:00
gingerBill
3f9a58808c More style improvements 2024-06-29 19:07:34 +01:00
Sandro Cavazzoni
e41878a64f Fix slice.unique wrong result
When you try to make this array unique `[]int{1, 2, 4, 4, 5}` you get
`[]int{1, 4, 5}` instead of `[]int{1, 2, 4, 5}`.
Our index `i` should be increased even with both indices `i` and `j`
have the same value
2024-06-16 11:36:20 +02:00
Damian Tarnawski
8ba644dd79 Add #no_bounds_check to slice.equal 2024-06-14 19:45:54 +02:00
Feoramund
1f64d8d5bd Add slice.permute 2024-06-09 16:15:41 -04:00
korvahkh
58ae96c821 Fix slice.has_prefix & slice.has_suffix
The needle was the element type instead of the slice type.
2024-05-25 15:52:35 -05:00
Jeroen van Rijn
8f706a14f8 Add allocator param. 2024-05-09 17:58:48 +02:00
Jeroen van Rijn
e5af98eabe Simplify bitset_to_enum_slice 2024-05-09 17:55:50 +02:00
Jeroen van Rijn
858c78b844 Pass new -vet-style check. 2024-05-09 17:47:19 +02:00
Jeroen van Rijn
a61d8daec1 Add make version of bitset to slice. 2024-05-09 17:44:39 +02:00
Jeroen van Rijn
7bcf3b1a0d Add slice.enum_slice_to_bitset & slice.bitset_to_enum_slice 2024-05-09 17:15:45 +02:00
Aaron Kavaler
ac634acd4b fixed slice.unique and slice.unique_proc 2024-03-13 19:19:31 -07:00
gingerBill
3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
Franz Höltermann
873b7f8588 Fixed type of temporary slice in sort_by_indices_overwrite 2024-01-08 17:11:06 +01:00
gingerBill
173527d631 Remove random tag 2023-12-13 01:53:15 +00:00
gingerBill
f8cb2bcad2 Add slice.unique and slice.unique_proc 2023-12-13 01:50:26 +00:00
gingerBill
b011487778 Reimplement binary_search_by to be simpler 2023-12-13 01:37:15 +00:00
gingerBill
c8cc130744 Fix the implementation of binary_search_by to work with a normal ordering call, rather than the backwards version.
WHY THE HECK WAS IT THIS WAY IN THE FIRST PLACE?!
2023-12-13 01:24:03 +00:00
gingerBill
fe0244606b Revert 2023-12-13 01:20:53 +00:00
gingerBill
036fa6482c Use cmp_proc in binary_search 2023-12-13 01:18:05 +00:00
gingerBill
04ca22b9ea Add to core:slice reduce_reverse, filter_reverse, repeat 2023-12-13 00:35:23 +00:00
Matija Dizdar
843b2350eb added #no_bounds_check back into binary_search_by 2023-12-06 21:48:37 +01:00
Matija Dizdar
526d338300 removed incorrect requirement for key type to be ordered in binary_search_by 2023-12-06 21:29:18 +01:00
Tarık B
5a661dc67b Add min_index and max_index procedures 2023-11-26 08:33:50 +01:00
Hector
9f96382558 Removed some accidental semi-colons and converted indentation to tabs. 2023-11-25 16:36:51 +00:00
Hector
1db5e1250f Binary search improvements
Modified the algorithm so that the index is either the location of the
element if found or the index at which to insert the element to maintain
sorted order.

Also added some tests to verify the above claim.
2023-11-25 13:48:48 +00:00
flysand7
270348b112 [core]: Remove do keyword from the core library 2023-11-11 20:36:38 +11:00
Karl Zylinski
d2ac3c2228 Make slice.clone and slice.clone_to_dynamic take a loc parameter 2023-10-30 21:19:21 +01:00
gingerBill
d50a844720 Replace mem with runtime in core:slice 2023-06-28 11:04:51 +01:00
gingerBill
9371325246 Fix typo 2023-05-25 12:19:41 +01:00
gingerBill
600c97cc0f Add missing Allocator_Error and @(require_results) to many procedures 2023-05-22 11:34:38 +01:00
gingerBill
5bbdbadc25 Remove where ORD(E) on procedures that don't need it 2023-03-14 14:05:23 +00:00
gingerBill
db8b2e69dd Fix slice.reverse 2023-01-27 11:12:10 +00:00
Andrea Piseri
3fa971a510 Add the inner for loop back in the logic
This could be easier to predict in cases where one of `left` and `right`
is significantly greater than the other, and as such the same branch is
taken multiple times in a row
2022-12-21 22:10:02 +01:00
Andrea Piseri
191223bb3c Fix non-generic cast in core:slice.rotate_left 2022-12-21 21:58:01 +01:00