From c27da569d54729538b2d8cdc09b67a1050c735f8 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 17 Jul 2019 16:10:57 +0200 Subject: [PATCH] DATV demod: leandvb: fixed possible int to float conversion issues in computation --- plugins/channelrx/demoddatv/leansdr/dsp.h | 2 +- plugins/channelrx/demoddatv/leansdr/sdr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/channelrx/demoddatv/leansdr/dsp.h b/plugins/channelrx/demoddatv/leansdr/dsp.h index 0427b23e3..3c96a460a 100644 --- a/plugins/channelrx/demoddatv/leansdr/dsp.h +++ b/plugins/channelrx/demoddatv/leansdr/dsp.h @@ -327,7 +327,7 @@ struct fir_filter : runnable { for (int i = 0; i < ncoeffs; ++i) { - float a = 2 * M_PI * f * (i - ncoeffs / 2); + float a = 2 * M_PI * f * (i - ncoeffs / 2.0); float c = cosf(a), s = sinf(a); // TBD Support T=complex shifted_coeffs[i].re = coeffs[i] * c; diff --git a/plugins/channelrx/demoddatv/leansdr/sdr.h b/plugins/channelrx/demoddatv/leansdr/sdr.h index c7c2375c5..e56e85ff9 100644 --- a/plugins/channelrx/demoddatv/leansdr/sdr.h +++ b/plugins/channelrx/demoddatv/leansdr/sdr.h @@ -743,7 +743,7 @@ struct cstln_lut : cstln_base { // Average power in first quadrant with unit grid int q = m / 2; - float avgpower = 2 * (q * 0.25 + (q - 1) * q / 2 + (q - 1) * q * (2 * q - 1) / 6) / q; + float avgpower = 2 * (q * 0.25 + (q - 1) * q / 2.0 + (q - 1) * q * (2 * q - 1) / 6.0) / q; scale = 1.0 / sqrtf(avgpower); } // Arbitrary mapping