Thread (7 messages) flat view 7 messages, 4 authors, 2016-06-15

Re: [PATCH] rev-list: estimate number of bisection step left

From: John Tapsell <hidden>
Date: 2016-06-15 22:46:13

2009/2/17 Johannes Schindelin [off-list ref]:
Hi,

On Tue, 17 Feb 2009, John Tapsell wrote:
quoted
2009/2/17 Johannes Schindelin [off-list ref]:
quoted
On Tue, 17 Feb 2009, Christian Couder wrote:
quoted
+static int estimate_bisect_steps(int all)
+{
+     int log2 = 0;
+     int left = (all >> 1) - 1;
+
+     if (left <= 0)
+             return 0;
+
+     do {
+             left = left >> 1;
+             log2++;
+     } while (left);
+
+     return log2;
+}
How about this instead, calling it from cmd_rev_list directly?

       static int log2(int n)
       {
               int log2;

               for (log2 = 0; n > 1; log2++)
                       n >>= 1;

               return log2;
       }
This would work, if you want a non-iterative solution

unsigned int log2_integer_approximate(unsigned int n){
*((float*)&n) = (float)n;
return ((n & (~((1<<23) - 1))) >> 23) - 127;
}
That assumes that your floats are IEEE floats, right?
Yeah.  Is it a bad assumption? Does git run on any system in which they aren't?
Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help