diff options
Diffstat (limited to 'gr-digital/include/gnuradio/digital/glfsr.h')
-rw-r--r-- | gr-digital/include/gnuradio/digital/glfsr.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/gr-digital/include/gnuradio/digital/glfsr.h b/gr-digital/include/gnuradio/digital/glfsr.h index 445904969e..449eeaa618 100644 --- a/gr-digital/include/gnuradio/digital/glfsr.h +++ b/gr-digital/include/gnuradio/digital/glfsr.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2007,2012 Free Software Foundation, Inc. + * Copyright 2007,2012,2016 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -24,6 +24,7 @@ #define INCLUDED_DIGITAL_GLFSR_H #include <gnuradio/digital/api.h> +#include <boost/cstdint.hpp> namespace gr { namespace digital { @@ -38,25 +39,18 @@ namespace gr { class DIGITAL_API glfsr { private: - int d_shift_register; - int d_mask; + uint32_t d_shift_register; + uint32_t d_mask; public: - glfsr(int mask, int seed) { d_shift_register = seed; d_mask = mask; } + glfsr(uint32_t mask, uint32_t seed) { d_shift_register = seed; d_mask = mask; } ~glfsr(); - static int glfsr_mask(int degree); + static uint32_t glfsr_mask(unsigned int degree); - unsigned char next_bit() - { - unsigned char bit = d_shift_register & 1; - d_shift_register >>= 1; - if(bit) - d_shift_register ^= d_mask; - return bit; - } + uint8_t next_bit(); - int mask() const { return d_mask; } + uint32_t mask() const { return d_mask; } }; } /* namespace digital */ |