This is more a follow up to https://stackoverflow.com/a/5587983/13586005. @sam hocevar or anybody else who understands this: Would you mind explaining what is happening here:
tmp = (tmp - 0x70) & ((unsigned int)((int)(0x70 - tmp) >> 4) >> 27);
I'm not sure I fully follow it. I understand that (tmp - 0x70)
is correcting for the 127->15 bias, but I don't understand the 2nd part((unsigned int)((int)(0x70 - tmp) >> 4) >> 27
) and therefore don't understand the & with the corrected bias in the last step. Thanks!