From 5b509e53601c4bdea99a8632caf455376f38c183 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 15 Mar 2016 21:33:18 -0400 Subject: [PATCH] Fixed: const should have been static constexpr; should probably use new and delete rather than malloc and new. --- SignalProcessing/FIRFilter.cpp | 4 ++-- SignalProcessing/FIRFilter.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SignalProcessing/FIRFilter.cpp b/SignalProcessing/FIRFilter.cpp index 2668f8a55..86b1261bf 100644 --- a/SignalProcessing/FIRFilter.cpp +++ b/SignalProcessing/FIRFilter.cpp @@ -69,7 +69,7 @@ static void csfilter_setIdealisedFilterResponse(short *filterCoefficients, float a = 0.5842f * powf(attenuation - 21.0f, 0.4f) + 0.7886f * (attenuation - 21.0f); } - float *filterCoefficientsFloat = (float *)malloc(sizeof(float) * numberOfTaps); + float *filterCoefficientsFloat = new float[numberOfTaps]; /* work out the right hand side of the filter coefficients */ unsigned int Np = (numberOfTaps - 1) / 2; @@ -103,7 +103,7 @@ static void csfilter_setIdealisedFilterResponse(short *filterCoefficients, float filterCoefficients[i] = (short)(filterCoefficientsFloat[i] * kCSKaiserBesselFilterFixedMultiplier * coefficientMultiplier); } - free(filterCoefficientsFloat); + delete[] filterCoefficientsFloat; } FIRFilter::FIRFilter(unsigned int number_of_taps, unsigned int input_sample_rate, float low_frequency, float high_frequency, float attenuation) diff --git a/SignalProcessing/FIRFilter.hpp b/SignalProcessing/FIRFilter.hpp index 27319d055..7fe5dff51 100644 --- a/SignalProcessing/FIRFilter.hpp +++ b/SignalProcessing/FIRFilter.hpp @@ -49,7 +49,7 @@ class FIRFilter { ~FIRFilter(); /*! A suggested default attenuation value. */ - const float DefaultAttenuation = 60.0f; + constexpr static float DefaultAttenuation = 60.0f; /*! Applies the filter to one batch of input samples, returning the net result.