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

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

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:13

Hi,

On Tue, 17 Feb 2009, John Tapsell wrote:
2009/2/17 Johannes Schindelin [off-list ref]:
quoted
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?
Only when you are porting Git to embedded devices.

Don't moan: there exists a git-daemon for iPhone.  Oh, wait!  /me 
scribbles that down for the UGFWIINI contest.

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