//@Description Counts the number of ones in a bit-vector in logn steps. int W=16; bit[W] countBits(bit[W] in) { bit[W] ret=0; bit[W] one = 0; one[0] = 1; for(int i=0;i<W;i++){ if(in[i]) ret=ret+one; } return ret; } bit[W] countSketch(bit[W] in) implements countBits { bit[W] tmp=in; repeat(??) { bit[W] m = ??; tmp=(tmp & m) + (tmp>>?? & ~m); } return tmp; }