pike.git / lib / modules / Array.pmod

version» Context lines:

pike.git/lib/modules/Array.pmod:140:    int x=n%q;    n/=q;    q--;    if (x) [a[i],a[i+x]]=({ a[i+x],a[i] });    i++;    }       return a;   }    - int search_array(mixed *arr, mixed fun, mixed ... args) + int search_array(array arr, mixed fun, mixed ... args)   {    int e;       if(stringp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(arr[e][fun](@args)) +  if(([array(object)]arr)[e][fun](@args))    return e;    return -1;    }    else if(functionp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(fun(arr[e],@args)) +  if(([function]fun)(arr[e],@args))    return e;    return -1;    }    else if(intp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(arr[e](@args)) +  if(([array(function)]arr)[e](@args))    return e;    return -1;    }    else    {    error("Bad argument 2 to filter().\n");    }   }    - mixed *sum_arrays(function foo, mixed * ... args) + array sum_arrays(function foo, array(mixed) ... args)   { -  mixed *ret; +  array ret;    int e,d;    ret=allocate(sizeof(args[0]));    for(e=0;e<sizeof(args[0]);e++)    ret[e]=foo(@ column(args, e));    return ret;   }    - mixed *sort_array(array foo,function|void cmp, mixed ... args) + array sort_array(array foo,function|void cmp, mixed ... args)   {    array bar,tmp;    int len,start;    int length;    int foop, fooend, barp, barend;       if(!cmp || cmp==`>)    {    foo+=({});    sort(foo);
pike.git/lib/modules/Array.pmod:440:       //werror ("%O\n", ({apart, bpart, cpart}));    ares += ({apart}), bres += ({bpart}), cres += ({cpart});    }       return ({ares, bres, cres});   }      // diff3, complement to diff (alpha stage)    - array(array(array(mixed))) diff3_old(array mid,array left,array right) + array(array(array)) diff3_old(array mid,array left,array right)   { -  array lmid,ldst; -  array rmid,rdst; +  array(array) lmid,ldst; +  array(array) rmid,rdst;       [lmid,ldst]=diff(mid,left);    [rmid,rdst]=diff(mid,right);       int l=0,r=0,n; -  array res=({}); +  array(array(array)) res=({});    int lpos=0,rpos=0;    array eq=({});    int x;       for (n=0; ;)    {    while (l<sizeof(lmid) && lpos>=sizeof(lmid[l]))    {    if (sizeof(ldst[l])>lpos)    res+=({({({}),ldst[l][lpos..],({})})});