pike.git / lib / modules / Int.pmod

version» Context lines:

pike.git/lib/modules/Int.pmod:97:    protected int(0..1) _equal(mixed arg) {    if(neg && arg==-Math.inf) return 1;    if(!neg && arg==Math.inf) return 1;    return arg==this;    }    protected int(0..1) _is_type(mixed type) { return (< "int", "object" >)[type]; }    protected mixed _random() { return this; }    protected mixed _sqrt() { return this; }    // % == nan    // & == nan -  protected mixed `*(mixed ... args) { +  protected mixed `*(mixed arg) {    int n = neg; -  foreach(args, mixed arg) +     if(arg<0) n = !n;    if(n) return ninf;    return inf;    } -  protected mixed ``*(mixed ... args) { return `*(@args); } -  protected mixed `+(mixed ... args) { -  foreach(args, mixed arg) +  protected mixed ``*(mixed arg) { return `*(arg); } +  protected mixed `+(mixed arg) {    if(arg==`-()) error("NaN\n");    return this;    } -  protected mixed ``+(mixed ... args) { return ``+(@args); } -  protected mixed `-(mixed ... args) { -  if(!sizeof(args)) { +  protected mixed ``+(mixed arg) { return ``+(arg); } +  protected mixed `-(void|mixed arg) { +  if(!query_num_arg()) {    if(neg) return inf;    return ninf;    } -  foreach(args, mixed arg) +     if(arg==inf || arg==ninf) error("NaN\n");    return this;    }    protected mixed ``-(mixed arg) {    if(arg==inf || arg==ninf) error("NaN\n");    return this;    }    protected int(0..1) `<(mixed arg) {    if(arg==this) return 0;    return neg;