From 2d0b26241c905bb91fe7610043a53ea25a28fee2 Mon Sep 17 00:00:00 2001 From: hkz Date: Wed, 16 Jul 2025 15:33:17 +0200 Subject: [PATCH] Simplify the LFSR --- src/utility.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utility.c b/src/utility.c index 3ad9f48..11d2308 100644 --- a/src/utility.c +++ b/src/utility.c @@ -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; }