pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:1727:    * the sum differs by an order of magnitude from a    * typical term.    */    /* Heapify */    for(e = args>>1; e--;) {    float_heap_sift_down(Pike_sp-args, e, args);    }    while (args > 2) {    /* Pop the smallest element from the heap. */    FLOAT_ARG_TYPE top = Pike_sp[-args].u.float_number; -  Pike_sp[-args] = *(--Pike_sp); +  Pike_sp[-args] = Pike_sp[-1]; +  Pike_sp--;    args--;    float_heap_sift_down(Pike_sp-args, 0, args);       /* And add it to the second smallest. */    Pike_sp[-args].u.float_number += top;    float_heap_sift_down(Pike_sp-args, 0, args);    }    }    sp[-2].u.float_number += sp[-1].u.float_number;    sp--;