Commit Graph

55 Commits

Author SHA1 Message Date
61e482f6f3 Initial WIP first past 2024-09-02 18:47:39 -04:00
7472837ee5 Add array:first(predicate:func(x:&T)->Bool)->@%T? 2024-08-18 22:28:04 -04:00
688f883e16 Add array:find() 2024-08-15 03:01:04 -04:00
66ae30ac29 Add method for array:remove_item(item) and rename
array:remove(index)->array:remove_at(index) to avoid confusion. Also
hook up array:has()
2024-08-15 02:39:35 -04:00
ed1667cb37 Add array:shuffled() and checks for array insertion 2024-08-15 02:17:53 -04:00
7a472752e5 Bugfix for array:insert() 2024-08-15 02:09:49 -04:00
eccc4e4721 Add binary search method to arrays 2024-08-15 01:59:42 -04:00
9c2d7c437d Fix up type conversions with ints and nums 2024-08-14 14:57:01 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
948d6b4c22 Add array:counts() 2024-08-10 16:36:50 -04:00
fa0dee19e2 Add comment 2024-08-04 17:02:29 -04:00
cb44b09715 Tweak reallocation heuristics for arrays 2024-08-04 14:58:09 -04:00
ff4ea60daf Tweaks to array implementation, including changing how the bits are
allocated, making more explicit checks for refcounts and max values,
optimizations for certain methods, and adding compile-time errors for
arrays that hold items that are too large.
2024-08-04 14:22:58 -04:00
adccc56880 Switch around some of the logic for array:random() and array:shuffle()
to use Int$random() and return values
2024-08-04 13:03:55 -04:00
09204f4ce8 Revert "Fix array:random() to return a random item using correct RNG logic,"
This reverts commit 68b34cf00b.
2024-08-03 17:44:22 -04:00
68b34cf00b Fix array:random() to return a random item using correct RNG logic,
rather than a reference.
2024-08-03 17:33:18 -04:00
167634eaa4 Change array API to take a padded item size instead of a type info in
most cases
2024-08-03 15:33:50 -04:00
16c2e3f590 Incrementally moving towards passing array entry sizes explicitly 2024-08-03 15:06:59 -04:00
52544344f1 Fix bug caused by not handling item padding properly 2024-08-03 14:52:49 -04:00
2b9bec18a4 Fix for stride overflows in arrays 2024-08-03 14:40:56 -04:00
7911df8294 Make sure array slicing doesn't require a pointer and disallow automatic
stackifying of values
2024-07-22 13:54:03 -04:00
fb95bbb1d4 Deprecate array:pairs() and switch iterator functions to use enums 2024-07-20 16:45:13 -04:00
f64aaf5960 Add array:pairs() 2024-07-13 18:05:14 -04:00
068d0e8563 Add array:to() to split out functionality of array:from() 2024-07-10 13:42:58 -04:00
10e86153a2 Replace array:slice() with array:from(first, last) and array:by(step) 2024-07-10 13:34:45 -04:00
78960b1461 Randomize hash key on startup and rename to TOMO_HASH_KEY. 2024-07-04 16:46:24 -04:00
e79ce52125 More heap code cleanup 2024-04-19 13:48:06 -04:00
78bcce2872 Heap cleanup 2024-04-19 13:40:05 -04:00
b25e8e86d4 Clean up heap code 2024-04-19 13:36:19 -04:00
3b0dce04a0 Add heapify(), heap_push(), and heap_pop() 2024-04-19 13:29:04 -04:00
4c5dc9443e Rename SSS_HASH_VECTOR -> TOMO 2024-04-14 21:58:49 -04:00
48d272c3fa Support Text arrays as main function arguments 2024-04-12 13:43:23 -04:00
fae2b2caa0 Add array:sample() 2024-04-02 23:28:59 -04:00
95100469b6 Add array:sorted() 2024-04-02 13:13:33 -04:00
c73e96ff91 Add comparison operator <> and array method to sort by a custom
comparison function
2024-04-02 13:08:06 -04:00
04d9adc813 Switch naming convention to use '$' in symbols more 2024-03-29 12:54:31 -04:00
d94053ca77 Add array:reversed() 2024-03-26 14:59:52 -04:00
7622f62935 More file comments 2024-03-18 12:57:49 -04:00
a33f730617 Rearranging some files 2024-03-10 00:03:21 -05:00
fcd1381e3d Minor cleanups to get compilation working on clang 2024-03-09 23:21:44 -05:00
07c2b0ec26 Array methods 2024-03-08 14:23:16 -05:00
8e62018546 Rename Array_random -> Array__random 2024-03-08 13:53:38 -05:00
0e9dbb4f8a Bugfix arrays 2024-03-08 13:33:20 -05:00
1677d7a1b9 Fix negative index issue and add array:random() 2024-03-08 13:00:29 -05:00
23478e7036 Rename as_str -> as_text 2024-03-03 18:16:33 -05:00
764d9fe73b Remove unnecessary code 2024-02-29 13:05:10 -05:00
ec75208980 Fix up some import issues and improve arrays to use saturating refcounts
instead of .copy_on_write
2024-02-29 12:37:09 -05:00
87bc0cfdbd Fix up some ++ stuff for arrays 2024-02-23 13:29:20 -05:00
9f56266ae4 Implement Array__concat and ++= 2024-02-23 13:24:06 -05:00
f05e3e2761 Fix up align issues 2024-02-17 22:07:25 -05:00