//@Description Sketch to reverse all the bits in a word in log-time using log-shifting. pragma options "--bnd-cbits 3 "; int W = 32; bit[W] reverseSketch(bit[W] in) implements reverse { bit[W] t = in; int s = 1; int r = ??; repeat(??){ bit[W] tmp1 = (t << s); bit[W] tmp2 = (t >> s); t = tmp1 {|} tmp2; // The {|} operator is syntactic sugar for m=??, (tmp1&m | tmp2&!m). s = s*r; } return t; } bit[W] reverse (bit[W] in) { bit [W] out=0; for (int i = 0; i < W; i++) { out[i] = in[W-1 - i]; } return out; }