Quick actions

cmd+k|ctrl+k

Navigation

Languages

lfsr prng

Snippet info

Language

Python

Visibility

public

Author

jack98765.2007

Created

2024-03-19T16:45:36.120997Z

Updated

2024-03-19T16:50:31.239499Z

def lfsr16(seed):
    state = seed % (1 << 16)
    while True:
        shifted_bit = (state & 1<<0) ^ (state & 1<<1)>>1
        state >>= 1
        if shifted_bit:
            state += 1 << 15
        yield state
        

def main():
    rng = lfsr16(22222)
    for i, n in enumerate(rng, 1):
        if i > 100:
            break
        print(f'{n:05}', end=(' ' if i % 10 else '\n'))
        
if __name__ == '__main__':
    main()
INFO