diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod index 381d3b96f9857710c7f8d669bb6a356e9cca0105..37248e3bd9cb6c84bd69a3ae4342f61209ff3ed6 100644 --- a/lib/modules/Array.pmod +++ b/lib/modules/Array.pmod @@ -59,6 +59,21 @@ mixed filter(mixed arr, mixed fun, mixed ... args) } } +array shuffle(array arr) +{ + int i = sizeof(arr); + + while(i) { + int j = random(i--); + if (j != i) { + mixed tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } + } + return(arr); +} + int search_array(mixed *arr, mixed fun, mixed ... args) {