pike.git / lib / modules / Array.pmod

version» Context lines:

pike.git/lib/modules/Array.pmod:83:    else    {    int d;    ret=map(arr,fun,@args);    for(e=0;e<sizeof(arr);e++) if(ret[e]) ret[d++]=arr[e];       return ret[..d-1];    }   }    - mixed foldl(function fun, array arr, mixed|void zero) + mixed reduce(function fun, array arr, mixed|void zero)   {    if(sizeof(arr))    zero = arr[0];    for(int i=1; i<sizeof(arr); i++)    zero = fun(zero, arr[i]);    return zero;   }    - mixed foldr(function fun, array arr, mixed|void zero) + mixed rreduce(function fun, array arr, mixed|void zero)   {    if(sizeof(arr))    zero = arr[-1];    for(int i=sizeof(arr)-2; i>=0; --i)    zero = fun(arr[i], zero);    return zero;   }    - function reduce = foldl; -  +    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;