From c0634a34d0e1c11dd0f219f66330b7b0e7dc93cd Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Fri, 13 Feb 2015 15:08:11 +0200 Subject: [PATCH] dsp: pre-compute polynome bit_length since Python 2.6 has no .bit_length() method --- amodem/dsp.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/amodem/dsp.py b/amodem/dsp.py index ba7f88f..2a59545 100644 --- a/amodem/dsp.py +++ b/amodem/dsp.py @@ -114,9 +114,13 @@ class MODEM(object): def prbs(reg, poly, bits): ''' Simple pseudo-random number generator. ''' mask = (1 << bits) - 1 + + size = 0 # effective register size (in bits) + while (poly >> size) > 1: + size += 1 + while True: yield reg & mask reg = reg << 1 - size = poly.bit_length() - 1 if reg >> size: reg = reg ^ poly