diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-01-16 13:42:15 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2022-03-05 09:41:28 -0700 |
commit | dc92795f3ee0a0e940fe6387684d6ba25904fe1f (patch) | |
tree | 3ba609a5b3090311494057386c2b60ca12de7c94 /lfsr.c | |
download | kbench9000-dc92795f3ee0a0e940fe6387684d6ba25904fe1f.tar.xz kbench9000-dc92795f3ee0a0e940fe6387684d6ba25904fe1f.zip |
Initial scaffolding
Diffstat (limited to 'lfsr.c')
-rw-r--r-- | lfsr.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -0,0 +1,18 @@ +#include <linux/kernel.h> + +void mix_lfsr(u32 h[4], const u32 v[4]) +{ + u32 w; + int i; + + for (i = 0; i < 4; ++i) { + w = h[0] ^ h[1] ^ h[3] ^ v[i]; + w ^= w << 17; + w ^= w >> 6; + w ^= w >> 9; + h[0] = h[1]; + h[1] = h[2]; + h[2] = h[3]; + h[3] = w; + } +} |