summaryrefslogtreecommitdiff
path: root/gr-digital/include/gnuradio/digital/glfsr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/include/gnuradio/digital/glfsr.h')
-rw-r--r--gr-digital/include/gnuradio/digital/glfsr.h22
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 */