- memcpy(&sample_in, data_in + in_offset, in_unitsize);
- sample_out = out_bit = 0;
- for (i = 0; probelist[i]; i++) {
- if (sample_in & (1 << (probelist[i] - 1)))
- sample_out |= (1 << out_bit);
+ sample_in = (uint8_t *)data_in + in_offset;
+ sample_out = (*data_out) + out_offset;
+ memset(sample_out, 0, out_unitsize);
+ out_bit = 0;
+ for (i = 0; i < probe_array->len; i++) {
+ if (sample_in[probelist[i]>>3] & (1 << (probelist[i]&7)))
+ sample_out[out_bit>>3] |= (1 << (out_bit&7));