A Programming Job Interview Challenge #2

While browsing the web, I stumbled on "A Programming Job Interview Challenge #2" at dev102.com. Here is my attempt at a solution written in taak:

# create a look up table
var table = new byte[256];
for (n = 0; n < 256; n++) {
    table[n] = reverse_bits(n);
}

# to reverse bits of bytes in an array of bytes
function reverse(image_buffer) {
    for (i = len(image_buffer); i >=0; --i) {
        image_buffer[i] = table[image_buffer[i]];
    }
    return image_buffer;
}

# to reverse bits in a byte
function reverse_bits(n) {
    var b = 0;
    for (int i = 0; i < 8; ++i) {
        b = (b << 1) | (n >> i & 1);
    }
    return b;
}