pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:1316:
assign_svalue(Pike_sp-(args+1), Pike_sp-1); pop_stack(); return args; } } /* Sift down large (absolute) values on the heap. */ static void float_heap_sift_down(struct svalue *svalues, int root, int nelems) { FLOAT_ARG_TYPE val = svalues[root].u.float_number;
-
FLOAT_ARG_TYPE abs_val =
abs
(val);
+
FLOAT_ARG_TYPE abs_val =
fabs
(val);
int child; while ((child = ((root<<1) +1)) < nelems) { int swap = root; FLOAT_ARG_TYPE s_abs_val;
-
if ((s_abs_val =
abs
(svalues[child].u.float_number)) < abs_val) {
+
if ((s_abs_val =
fabs
(svalues[child].u.float_number)) < abs_val) {
swap = child; } else { s_abs_val = abs_val; } child++; if ((child < nelems) &&
-
(
abs
(svalues[child].u.float_number) < s_abs_val)) {
+
(
fabs
(svalues[child].u.float_number) < s_abs_val)) {
swap = child; } if (swap == root) break; svalues[root] = svalues[swap]; root = swap; } svalues[root].u.float_number = val; } /*! @decl mixed `+(mixed arg)