diff options
Diffstat (limited to 'gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h')
-rw-r--r-- | gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h b/gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h index 2ebfe08319..22c9521e3d 100644 --- a/gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h +++ b/gr-blocks/include/gnuradio/blocks/lfsr_15_1_0.h @@ -26,45 +26,45 @@ #include <gnuradio/blocks/api.h> namespace gr { - namespace blocks { +namespace blocks { - /*! - * \brief Linear Feedback Shift Register using primitive polynomial x^15 + x + 1 - * \ingroup misc - * - * \details - * Generates a maximal length pseudo-random sequence of length - * 2^15 - 1 bits. - */ - class BLOCKS_API lfsr_15_1_0 - { - private: - unsigned long d_sr; // shift register +/*! + * \brief Linear Feedback Shift Register using primitive polynomial x^15 + x + 1 + * \ingroup misc + * + * \details + * Generates a maximal length pseudo-random sequence of length + * 2^15 - 1 bits. + */ +class BLOCKS_API lfsr_15_1_0 +{ +private: + unsigned long d_sr; // shift register - public: - lfsr_15_1_0() { reset(); } +public: + lfsr_15_1_0() { reset(); } - void reset() { d_sr = 0x7fff; } + void reset() { d_sr = 0x7fff; } - int next_bit() - { + int next_bit() + { d_sr = ((((d_sr >> 1) ^ d_sr) & 0x1) << 14) | (d_sr >> 1); return d_sr & 0x1; - } + } - int next_byte () - { - int v = 0; - for(int i = 0; i < 8; i++) { - v >>= 1; - if(next_bit ()) - v |= 0x80; + int next_byte() + { + int v = 0; + for (int i = 0; i < 8; i++) { + v >>= 1; + if (next_bit()) + v |= 0x80; } return v; - } - }; + } +}; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ #endif /* INCLUDED_GRI_LFSR_15_1_0_H */ |