From 5e10105dac928ed4bcea08ccbb371fa61e5c76ea Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 23 Jun 2020 11:01:16 +0200 Subject: [PATCH] Attempt to fix MSVC issue C2491 with decimators FI and FF --- sdrbase/dsp/decimatorsff.h | 13 +++++++------ sdrbase/dsp/decimatorsfi.h | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/sdrbase/dsp/decimatorsff.h b/sdrbase/dsp/decimatorsff.h index 1e511fd8b..e62a0943c 100644 --- a/sdrbase/dsp/decimatorsff.h +++ b/sdrbase/dsp/decimatorsff.h @@ -25,15 +25,15 @@ /** Decimators with float input and float output */ template -class SDRBASE_API DecimatorsFF +class DecimatorsFF { public: - void decimate1(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate2_inf(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate2_sup(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate1(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate2_inf(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate2_sup(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate2_cen(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate4_inf(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate4_sup(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate4_inf(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate4_sup(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate4_cen(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate8_inf(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate8_sup(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ); @@ -57,6 +57,7 @@ public: IntHalfbandFilterEOF m_decimator64; // 6th stages }; + template void DecimatorsFF::decimate2_cen(FSampleVector::iterator* it, const float* buf, qint32 nbIAndQ) { diff --git a/sdrbase/dsp/decimatorsfi.h b/sdrbase/dsp/decimatorsfi.h index 0b6a96ba1..67babc61e 100644 --- a/sdrbase/dsp/decimatorsfi.h +++ b/sdrbase/dsp/decimatorsfi.h @@ -25,15 +25,15 @@ /** Decimators with float input and integer output */ template -class SDRBASE_API DecimatorsFI +class DecimatorsFI { public: - void decimate1(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate2_inf(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate2_sup(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate1(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate2_inf(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate2_sup(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate2_cen(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate4_inf(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); - void decimate4_sup(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate4_inf(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); + SDRBASE_API void decimate4_sup(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate4_cen(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate8_inf(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); void decimate8_sup(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ); @@ -57,6 +57,7 @@ public: IntHalfbandFilterEOF m_decimator64; // 6th stages }; + template void DecimatorsFI::decimate2_cen(SampleVector::iterator* it, const float* buf, qint32 nbIAndQ) {