pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:1654:    for(e=args-1; e>0; e-- )    res += Pike_sp[-e].u.float_number;    Pike_sp -= args-1;    Pike_sp[-1].u.float_number = res;    }    break;       case BIT_FLOAT|BIT_INT:    {    double res = 0.0; -  for(int i=0;i<args;i++) +  int i; +  for(i=0; i<args; i++)    if (TYPEOF(Pike_sp[i-args]) == T_FLOAT)    res += Pike_sp[i-args].u.float_number;    else    res += (double)Pike_sp[i-args].u.integer;    Pike_sp-=args;    push_float(res);    return;    }      #define ADD(TYPE, ADD_FUNC, PUSH_FUNC) do { \    struct TYPE *x = ADD_FUNC (Pike_sp - args, args); \    pop_n_elems (args); \    PUSH_FUNC (x); \    return; \    } while (0)      #define REMOVE_UNDEFINED(TYPE) \    do { \    int to = -args, i=-args; \ -  +  int i; \    for(; i<0; i++) \    { \    if(TYPEOF(Pike_sp[i]) == PIKE_T_INT) \    { \    if(!IS_UNDEFINED(Pike_sp+i)) \    SIMPLE_ARG_TYPE_ERROR("`+", args+i, #TYPE); \    } \    else if(to!=i) \    Pike_sp[to++] = Pike_sp[i]; \    else to++; \    } \ -  for(int i=to; i<0; i++) \ +  for(i=to; i<0; i++) \    TYPEOF(Pike_sp[i])=PIKE_T_INT; \    Pike_sp += to; \    args += to; \    } while(0);       case BIT_ARRAY|BIT_INT:    REMOVE_UNDEFINED (array);    /* Fallthrough */    case BIT_ARRAY:    ADD (array, add_arrays, push_array);