diff options
author | Philip Balister <philip@balister.org> | 2018-11-05 14:00:28 -0500 |
---|---|---|
committer | Philip Balister <philip@balister.org> | 2018-11-05 14:00:28 -0500 |
commit | 1166eec8f22141b1eb23a40e3b221b046883f682 (patch) | |
tree | 147a60dcada631660c9fecfd2ba77b6632f906fa | |
parent | d60fcd1701fa4f3fe0f6b6f539a2a11613a904ca (diff) |
interleave_impl.cc: Address Coverity 1327839, 1327840, 1327841, 1327842.
Dividing two ints gives a result that is an int. Adding 0.5f and converting
back to an int gives the original result. This change keeps the current
behavior and doesn't implement the (suspected) desired behavior. If
rounding is desired, the divison should be done as a float, so the 0.5f is
added to a float before truncation.
Signed-off-by: Philip Balister <philip@balister.org>
-rw-r--r-- | gr-blocks/lib/interleave_impl.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gr-blocks/lib/interleave_impl.cc b/gr-blocks/lib/interleave_impl.cc index 65a5cb69b7..be0b1c6f73 100644 --- a/gr-blocks/lib/interleave_impl.cc +++ b/gr-blocks/lib/interleave_impl.cc @@ -64,7 +64,7 @@ namespace gr { int interleave_impl::fixed_rate_noutput_to_ninput(int noutput) { - return (int) ((noutput / d_ninputs) + .5); + return (noutput / d_ninputs); } void @@ -72,7 +72,7 @@ namespace gr { gr_vector_int& ninput_items_required) { for(unsigned int i = 0; i < ninput_items_required.size(); ++i) { - ninput_items_required[i] = (int) ((noutput_items / ninput_items_required.size()) + .5); + ninput_items_required[i] = noutput_items / ninput_items_required.size(); } } @@ -82,7 +82,7 @@ namespace gr { gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { - size_t noutput_blocks = (size_t) ((noutput_items/d_blocksize) + .5); + size_t noutput_blocks = (size_t) (noutput_items/d_blocksize); const char **in = (const char**)&input_items[0]; char *out = (char*)output_items[0]; @@ -93,7 +93,7 @@ namespace gr { in[n] += d_itemsize * d_blocksize; } } - consume_each((int)((noutput_items/d_ninputs) + .5)); + consume_each(noutput_items/d_ninputs); return noutput_items; } |