From 7ccb7a8a9b8f10d30fd8fca01e849dcad354a855 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 3 Nov 2024 16:10:03 -0500 Subject: Use an RNG parameter for array:random(), array:shuffle(), array:shuffled() --- stdlib/arrays.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'stdlib/arrays.h') diff --git a/stdlib/arrays.h b/stdlib/arrays.h index 03f00d49..5d452d30 100644 --- a/stdlib/arrays.h +++ b/stdlib/arrays.h @@ -70,10 +70,10 @@ Int_t Array$find(Array_t arr, void *item, const TypeInfo_t *type); Int_t Array$first(Array_t arr, Closure_t predicate); void Array$sort(Array_t *arr, Closure_t comparison, int64_t padded_item_size); Array_t Array$sorted(Array_t arr, Closure_t comparison, int64_t padded_item_size); -void Array$shuffle(Array_t *arr, int64_t padded_item_size); -Array_t Array$shuffled(Array_t arr, int64_t padded_item_size); -void *Array$random(Array_t arr); -#define Array$random_value(arr, t) ({ Array_t _arr = arr; if (_arr.length == 0) fail("Cannot get a random value from an empty array!"); *(t*)Array$random(_arr); }) +void Array$shuffle(Array_t *arr, Closure_t rng, int64_t padded_item_size); +Array_t Array$shuffled(Array_t arr, Closure_t rng, int64_t padded_item_size); +void *Array$random(Array_t arr, Closure_t rng); +#define Array$random_value(arr, rng, t) ({ Array_t _arr = arr; if (_arr.length == 0) fail("Cannot get a random value from an empty array!"); *(t*)Array$random(_arr, rng); }) Array_t Array$sample(Array_t arr, Int_t n, Array_t weights, int64_t padded_item_size); Table_t Array$counts(Array_t arr, const TypeInfo_t *type); void Array$clear(Array_t *array); -- cgit v1.2.3