Branch: Tag:

2000-07-12

2000-07-12 13:39:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stricter types.

Rev: lib/modules/Array.pmod:1.43
Rev: lib/modules/Getopt.pmod:1.9
Rev: lib/modules/String.pmod:1.11

101:    if(sizeof(arr))    zero = arr[0];    for(int i=1; i<sizeof(arr); i++) -  zero = fun(zero, arr[i]); +  zero = ([function(mixed,mixed:mixed)]fun)(zero, arr[i]);    return zero;   }   
110:    if(sizeof(arr))    zero = arr[-1];    for(int i=sizeof(arr)-2; i>=0; --i) -  zero = fun(arr[i], zero); +  zero = ([function(mixed,mixed:mixed)]fun)(arr[i], zero);    return zero;   }   
154:    if(stringp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(([array(object)]arr)[e][fun](@args)) +  if(([function(mixed...:mixed)]([array(object)]arr)[e][fun])(@args))    return e;    return -1;    }    else if(functionp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(([function]fun)(arr[e],@args)) +  if(([function(mixed,mixed...:mixed)]fun)(arr[e],@args))    return e;    return -1;    }    else if(intp(fun))    {    for(e=0;e<sizeof(arr);e++) -  if(([array(function)]arr)[e](@args)) +  if(([array(function(mixed...:mixed))]arr)[e](@args))    return e;    return -1;    }
184:    int e,d;    ret=allocate(sizeof(args[0]));    for(e=0;e<sizeof(args[0]);e++) -  ret[e]=foo(@ column(args, e)); +  ret[e]=([function(mixed...:mixed)]foo)(@ column(args, e));    return ret;   }   
227:       while(1)    { -  if(cmp(foo[foop],foo[barp],@args) <= 0) +  if(([function(mixed,mixed,mixed...:int)]cmp)(foo[foop],foo[barp],@args) +  <= 0)    {    bar[start++]=foo[foop++];    if(foop == fooend)
262:    return ret;   }    - array transpose_old(array x) + array transpose_old(array(array|string) x)   {    if (!sizeof(x)) return x; -  array ret=allocate(sizeof(x[0])); -  for(int e=0;e<sizeof(x[0]);e++) ret[e]=column(x,e); +  array ret=allocate(sizeof([array|string]x[0])); +  for(int e=0;e<sizeof([array|string]x[0]);e++) ret[e]=column(x,e);    return ret;   }   
550:   array flatten(array a)   {    array ret=({}); -  foreach(a, a) ret+=arrayp(a)?flatten(a):({a}); +  foreach(a, mixed b) ret+=arrayp(b)?flatten([array]b):({b});    return ret;   }