From: Navarrop Date: Thu, 15 Sep 2011 14:47:49 +0000 (+0200) Subject: Use C style dichotomy instead of CAML style dichotomy. :) X-Git-Tag: v3_6_2~92^2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9440459ec55c278e70946654c42d6c3c74c582f5 Use C style dichotomy instead of CAML style dichotomy. :) --- diff --git a/src/surf/cpu_ti.c b/src/surf/cpu_ti.c index 6ca6ee188d..13ccde8b54 100644 --- a/src/surf/cpu_ti.c +++ b/src/surf/cpu_ti.c @@ -1103,18 +1103,22 @@ static double surf_cpu_ti_solve_trace_simple(surf_cpu_ti_trace_t trace, static int surf_cpu_ti_binary_search(double *array, double a, int low, int high) { - int mid = low + (high - low) / 2; - XBT_DEBUG("a %lf low %d high %d mid %d value %lf", a, low, high, mid, - array[mid]); - /* a == array[mid] */ - if (array[mid] == a) - return mid; - /* a is between mid and mid+1 */ - if (array[mid] < a && array[mid + 1] > a) - return mid; - - if (array[mid] < a) - return surf_cpu_ti_binary_search(array, a, mid + 1, high); - else - return surf_cpu_ti_binary_search(array, a, low, mid - 1); + xbt_assert(low a) + return mid; + + if (array[mid] < a) + low = mid + 1; + else + high = mid - 1; + } }