Simplify the LFSR

This commit is contained in:
hkz 2025-07-16 15:33:17 +02:00
commit 2d0b26241c

View file

@ -15,10 +15,10 @@ uint8_t bit_count(uint8_t b) {
uint16_t lfsr_update(void) {
static uint16_t lfsr = 0xF00D;
uint16_t bit;
bit = ((lfsr >> 0) ^ (lfsr >> 2) ^ (lfsr >> 3) ^ (lfsr >> 5)) & 1;
lfsr = (lfsr >> 1) | (bit << 15);
lfsr ^= lfsr >> 7;
lfsr ^= lfsr << 9;
lfsr ^= lfsr >> 13;
return lfsr;
}