diff options
author | Mathias Rasmussen <mathiasvr@gmail.com> | 2019-10-22 22:26:05 +0200 |
---|---|---|
committer | Michael Dickens <michael.dickens@ettus.com> | 2019-11-17 18:17:03 -0500 |
commit | c750d104d938cc6f3c09417022f132676f6646e4 (patch) | |
tree | 48eca6126fae23f932ed03f91b672cd685c73582 /gr-fec | |
parent | f78c95897ec696f208d2bc089c9fdc9e6367903d (diff) |
change rounding method to `lround`
Diffstat (limited to 'gr-fec')
-rw-r--r-- | gr-fec/lib/decoder_impl.cc | 14 | ||||
-rw-r--r-- | gr-fec/lib/depuncture_bb_impl.cc | 8 | ||||
-rw-r--r-- | gr-fec/lib/encoder_impl.cc | 4 | ||||
-rw-r--r-- | gr-fec/lib/puncture_bb_impl.cc | 8 | ||||
-rw-r--r-- | gr-fec/lib/puncture_ff_impl.cc | 8 |
5 files changed, 21 insertions, 21 deletions
diff --git a/gr-fec/lib/decoder_impl.cc b/gr-fec/lib/decoder_impl.cc index 5af8978700..f4ad7a9846 100644 --- a/gr-fec/lib/decoder_impl.cc +++ b/gr-fec/lib/decoder_impl.cc @@ -63,17 +63,17 @@ decoder_impl::decoder_impl(generic_decoder::sptr my_decoder, int decoder_impl::fixed_rate_ninput_to_noutput(int ninput) { - return (int)(0.5 + ninput * relative_rate()); + return std::lround(ninput * relative_rate()); } int decoder_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int)(0.5 + noutput / relative_rate()); + return std::lround(noutput / relative_rate()); } void decoder_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) { - ninput_items_required[0] = 0.5 + fixed_rate_noutput_to_ninput(noutput_items); + ninput_items_required[0] = std::lround(fixed_rate_noutput_to_ninput(noutput_items)); } int decoder_impl::general_work(int noutput_items, @@ -84,9 +84,9 @@ int decoder_impl::general_work(int noutput_items, const unsigned char* in = (unsigned char*)input_items[0]; unsigned char* out = (unsigned char*)output_items[0]; - int outnum = (int)(((1.0 / relative_rate()) * noutput_items) + 0.5); + int outnum = std::lround((1.0 / relative_rate()) * noutput_items); int innum = - (int)(relative_rate() * (ninput_items[0] - d_decoder->get_history()) + 0.5) / + std::lround(relative_rate() * (ninput_items[0] - d_decoder->get_history())) / (output_multiple() - d_decoder->get_history()); int items = (outnum <= ninput_items[0] - d_decoder->get_history()) @@ -106,8 +106,8 @@ int decoder_impl::general_work(int noutput_items, pmt::intern(alias())); } - int consumed = static_cast<int>( - items / relative_rate() * (output_multiple() - d_decoder->get_history()) + 0.5); + int consumed = std::lround( + items / relative_rate() * (output_multiple() - d_decoder->get_history())); int returned = items * (output_multiple() - d_decoder->get_history()); consume_each(consumed); diff --git a/gr-fec/lib/depuncture_bb_impl.cc b/gr-fec/lib/depuncture_bb_impl.cc index 27d00bb5bb..3cb0651022 100644 --- a/gr-fec/lib/depuncture_bb_impl.cc +++ b/gr-fec/lib/depuncture_bb_impl.cc @@ -81,18 +81,18 @@ depuncture_bb_impl::~depuncture_bb_impl() {} int depuncture_bb_impl::fixed_rate_ninput_to_noutput(int ninput) { - return (int)(((d_puncsize / (double)(d_puncsize - d_puncholes)) * ninput) + .5); + return std::lround((d_puncsize / (double)(d_puncsize - d_puncholes)) * ninput); } int depuncture_bb_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int)((((d_puncsize - d_puncholes) / (double)(d_puncsize)) * noutput) + .5); + return std::lround(((d_puncsize - d_puncholes) / (double)(d_puncsize)) * noutput); } void depuncture_bb_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) { ninput_items_required[0] = - (int)((((d_puncsize - d_puncholes) / (double)(d_puncsize)) * noutput_items) + .5); + std::lround(((d_puncsize - d_puncholes) / (double)(d_puncsize)) * noutput_items); } /* @@ -138,7 +138,7 @@ int depuncture_bb_impl::general_work(int noutput_items, % ((int)(((1.0/relative_rate()) * noutput_items) + .5))); */ - consume_each((int)(((1.0 / relative_rate()) * noutput_items) + .5)); + consume_each(std::lround((1.0 / relative_rate()) * noutput_items)); return noutput_items; } diff --git a/gr-fec/lib/encoder_impl.cc b/gr-fec/lib/encoder_impl.cc index 21b71e5e97..d99454a98c 100644 --- a/gr-fec/lib/encoder_impl.cc +++ b/gr-fec/lib/encoder_impl.cc @@ -62,12 +62,12 @@ encoder_impl::~encoder_impl() {} int encoder_impl::fixed_rate_ninput_to_noutput(int ninput) { - return (int)(0.5 + ninput * relative_rate()); + return std::lround(ninput * relative_rate()); } int encoder_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int)(0.5 + noutput / relative_rate()); + return std::lround(noutput / relative_rate()); } void encoder_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) diff --git a/gr-fec/lib/puncture_bb_impl.cc b/gr-fec/lib/puncture_bb_impl.cc index a365d6a69f..0bfc155184 100644 --- a/gr-fec/lib/puncture_bb_impl.cc +++ b/gr-fec/lib/puncture_bb_impl.cc @@ -79,18 +79,18 @@ puncture_bb_impl::~puncture_bb_impl() {} int puncture_bb_impl::fixed_rate_ninput_to_noutput(int ninput) { - return (int)((((d_puncsize - d_puncholes) / (double)(d_puncsize)) * ninput) + .5); + return std::lround(((d_puncsize - d_puncholes) / (double)(d_puncsize)) * ninput); } int puncture_bb_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int)(((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput) + .5); + return std::lround((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput); } void puncture_bb_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) { ninput_items_required[0] = - (int)(((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput_items) + .5); + std::lround((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput_items); } /* @@ -138,7 +138,7 @@ int puncture_bb_impl::general_work(int noutput_items, % ((int)(((1.0/relative_rate()) * noutput_items) + .5))); */ - consume_each((int)(((1.0 / relative_rate()) * noutput_items) + .5)); + consume_each(std::lround((1.0 / relative_rate()) * noutput_items)); return noutput_items; } diff --git a/gr-fec/lib/puncture_ff_impl.cc b/gr-fec/lib/puncture_ff_impl.cc index c95288d691..c2c9cb5ca1 100644 --- a/gr-fec/lib/puncture_ff_impl.cc +++ b/gr-fec/lib/puncture_ff_impl.cc @@ -79,18 +79,18 @@ puncture_ff_impl::~puncture_ff_impl() {} int puncture_ff_impl::fixed_rate_ninput_to_noutput(int ninput) { - return (int)((((d_puncsize - d_puncholes) / (double)(d_puncsize)) * ninput) + .5); + return std::lround(((d_puncsize - d_puncholes) / (double)(d_puncsize)) * ninput); } int puncture_ff_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int)(((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput) + .5); + return std::lround((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput); } void puncture_ff_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) { ninput_items_required[0] = - (int)(((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput_items) + .5); + std::lround((d_puncsize / (double)(d_puncsize - d_puncholes)) * noutput_items); } /* @@ -138,7 +138,7 @@ int puncture_ff_impl::general_work(int noutput_items, % ((int)(((1.0/relative_rate()) * noutput_items) + .5))); */ - consume_each((int)(((1.0 / relative_rate()) * noutput_items) + .5)); + consume_each(std::lround((1.0 / relative_rate()) * noutput_items)); return noutput_items; } |