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) + { +  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) + { +  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;