From c41f64111f5f828697fdfa7f10a02724bdcb46cc Mon Sep 17 00:00:00 2001 From: reuk Date: Mon, 23 Aug 2021 16:45:44 +0100 Subject: [PATCH] FilterDesign: Add assertions to catch misuse of design functions --- .../juce_dsp/filter_design/juce_FilterDesign.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/juce_dsp/filter_design/juce_FilterDesign.cpp b/modules/juce_dsp/filter_design/juce_FilterDesign.cpp index c6a50ab091..826cba0ac1 100644 --- a/modules/juce_dsp/filter_design/juce_FilterDesign.cpp +++ b/modules/juce_dsp/filter_design/juce_FilterDesign.cpp @@ -386,16 +386,19 @@ ReferenceCountedArray> FloatType passbandAmplitudedB, FloatType stopbandAmplitudedB) { - jassert (sampleRate > 0); - jassert (frequency > 0 && frequency <= sampleRate * 0.5); - jassert (normalisedTransitionWidth > 0 && normalisedTransitionWidth <= 0.5); - jassert (passbandAmplitudedB > -20 && passbandAmplitudedB < 0); - jassert (stopbandAmplitudedB > -300 && stopbandAmplitudedB < -20); + jassert (0 < sampleRate); + jassert (0 < frequency && frequency <= sampleRate * 0.5); + jassert (0 < normalisedTransitionWidth && normalisedTransitionWidth <= 0.5); + jassert (-20 < passbandAmplitudedB && passbandAmplitudedB < 0); + jassert (-300 < stopbandAmplitudedB && stopbandAmplitudedB < -20); auto normalisedFrequency = frequency / sampleRate; auto fp = normalisedFrequency - normalisedTransitionWidth / 2; + jassert (0.0 < fp && fp < 0.5); + auto fs = normalisedFrequency + normalisedTransitionWidth / 2; + jassert (0.0 < fs && fs < 0.5); double Ap = passbandAmplitudedB; double As = stopbandAmplitudedB;