From 7d21a967e4dffec6714affb888e68bddaefef934 Mon Sep 17 00:00:00 2001 From: reuk Date: Thu, 13 Jan 2022 19:52:38 +0000 Subject: [PATCH] AudioBlock: Use new size_t overloads from FloatVectorOperations --- modules/juce_core/maths/juce_MathsFunctions.h | 8 +-- modules/juce_dsp/containers/juce_AudioBlock.h | 51 +++++++++---------- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/modules/juce_core/maths/juce_MathsFunctions.h b/modules/juce_core/maths/juce_MathsFunctions.h index f6f5829787..4ead272676 100644 --- a/modules/juce_core/maths/juce_MathsFunctions.h +++ b/modules/juce_core/maths/juce_MathsFunctions.h @@ -175,8 +175,8 @@ Type mapFromLog10 (Type valueInLogRange, Type logRangeMin, Type logRangeMax) } /** Scans an array of values, returning the minimum value that it contains. */ -template -Type findMinimum (const Type* data, int numValues) +template +Type findMinimum (const Type* data, Size numValues) { if (numValues <= 0) return Type (0); @@ -195,8 +195,8 @@ Type findMinimum (const Type* data, int numValues) } /** Scans an array of values, returning the maximum value that it contains. */ -template -Type findMaximum (const Type* values, int numValues) +template +Type findMaximum (const Type* values, Size numValues) { if (numValues <= 0) return Type (0); diff --git a/modules/juce_dsp/containers/juce_AudioBlock.h b/modules/juce_dsp/containers/juce_AudioBlock.h index 7fa027e509..9f4dd84734 100644 --- a/modules/juce_dsp/containers/juce_AudioBlock.h +++ b/modules/juce_dsp/containers/juce_AudioBlock.h @@ -341,12 +341,11 @@ public: size_t numElements = std::numeric_limits::max()) const { auto dstlen = static_cast (dst.getNumSamples()) / sizeFactor; - auto n = static_cast (jmin (numSamples - srcPos, dstlen - dstPos, numElements) * sizeFactor); + auto n = jmin (numSamples - srcPos, dstlen - dstPos, numElements) * sizeFactor; auto maxChannels = jmin (static_cast (dst.getNumChannels()), static_cast (numChannels)); for (size_t ch = 0; ch < maxChannels; ++ch) - FloatVectorOperations::copy (dst.getWritePointer (static_cast (ch), - static_cast (dstPos * sizeFactor)), + FloatVectorOperations::copy (dst.getWritePointer ((int) ch, (int) (dstPos * sizeFactor)), getDataPointer (ch) + (srcPos * sizeFactor), n); } @@ -524,7 +523,7 @@ public: if (numChannels == 0) return {}; - auto n = static_cast (numSamples * sizeFactor); + auto n = numSamples * sizeFactor; auto minmax = FloatVectorOperations::findMinAndMax (getDataPointer (0), n); for (size_t ch = 1; ch < numChannels; ++ch) @@ -601,7 +600,7 @@ private: //============================================================================== void JUCE_VECTOR_CALLTYPE clearInternal() const noexcept { - auto n = static_cast (numSamples * sizeFactor); + auto n = numSamples * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::clear (getDataPointer (ch), n); @@ -609,7 +608,7 @@ private: void JUCE_VECTOR_CALLTYPE fillInternal (NumericType value) const noexcept { - auto n = static_cast (numSamples * sizeFactor); + auto n = numSamples * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::fill (getDataPointer (ch), value, n); @@ -619,8 +618,7 @@ private: void copyFromInternal (const AudioBlock& src) const noexcept { auto maxChannels = jmin (src.numChannels, numChannels); - auto n = static_cast (jmin (src.numSamples * src.sizeFactor, - numSamples * sizeFactor)); + auto n = jmin (src.numSamples * src.sizeFactor, numSamples * sizeFactor); for (size_t ch = 0; ch < maxChannels; ++ch) FloatVectorOperations::copy (getDataPointer (ch), src.getDataPointer (ch), n); @@ -630,13 +628,12 @@ private: void copyFromInternal (const AudioBuffer& src, size_t srcPos, size_t dstPos, size_t numElements) const { auto srclen = static_cast (src.getNumSamples()) / sizeFactor; - auto n = static_cast (jmin (srclen - srcPos, numSamples - dstPos, numElements) * sizeFactor); + auto n = jmin (srclen - srcPos, numSamples - dstPos, numElements) * sizeFactor; auto maxChannels = jmin (static_cast (src.getNumChannels()), static_cast (numChannels)); for (size_t ch = 0; ch < maxChannels; ++ch) FloatVectorOperations::copy (getDataPointer (ch) + (dstPos * sizeFactor), - src.getReadPointer (static_cast (ch), - static_cast (srcPos * sizeFactor)), + src.getReadPointer ((int) ch, (int) (srcPos * sizeFactor)), n); } @@ -655,7 +652,7 @@ private: //============================================================================== void JUCE_VECTOR_CALLTYPE addInternal (NumericType value) const noexcept { - auto n = static_cast (numSamples * sizeFactor); + auto n = numSamples * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::add (getDataPointer (ch), value, n); @@ -665,7 +662,7 @@ private: void addInternal (AudioBlock src) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::add (getDataPointer (ch), src.getDataPointer (ch), n); @@ -675,7 +672,7 @@ private: void JUCE_VECTOR_CALLTYPE replaceWithSumOfInternal (AudioBlock src, NumericType value) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::add (getDataPointer (ch), src.getDataPointer (ch), value, n); @@ -685,7 +682,7 @@ private: void replaceWithSumOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor); + auto n = jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::add (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n); @@ -701,7 +698,7 @@ private: void subtractInternal (AudioBlock src) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::subtract (getDataPointer (ch), src.getDataPointer (ch), n); @@ -717,7 +714,7 @@ private: void replaceWithDifferenceOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor); + auto n = jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::subtract (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n); @@ -726,7 +723,7 @@ private: //============================================================================== void JUCE_VECTOR_CALLTYPE multiplyByInternal (NumericType value) const noexcept { - auto n = static_cast (numSamples * sizeFactor); + auto n = numSamples * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::multiply (getDataPointer (ch), value, n); @@ -736,7 +733,7 @@ private: void multiplyByInternal (AudioBlock src) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::multiply (getDataPointer (ch), src.getDataPointer (ch), n); @@ -746,7 +743,7 @@ private: void JUCE_VECTOR_CALLTYPE replaceWithProductOfInternal (AudioBlock src, NumericType value) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::multiply (getDataPointer (ch), src.getDataPointer (ch), value, n); @@ -756,7 +753,7 @@ private: void replaceWithProductOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor); + auto n = jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::multiply (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n); @@ -809,7 +806,7 @@ private: void JUCE_VECTOR_CALLTYPE addProductOfInternal (AudioBlock src, NumericType factor) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::addWithMultiply (getDataPointer (ch), src.getDataPointer (ch), factor, n); @@ -819,7 +816,7 @@ private: void addProductOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor); + auto n = jmin (numSamples, src1.numSamples, src2.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::addWithMultiply (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n); @@ -835,7 +832,7 @@ private: void replaceWithNegativeOfInternal (AudioBlock src) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::negate (getDataPointer (ch), src.getDataPointer (ch), n); @@ -845,7 +842,7 @@ private: void replaceWithAbsoluteValueOfInternal (AudioBlock src) const noexcept { jassert (numChannels == src.numChannels); - auto n = static_cast (jmin (numSamples, src.numSamples) * sizeFactor); + auto n = jmin (numSamples, src.numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::abs (getDataPointer (ch), src.getDataPointer (ch), n); @@ -856,7 +853,7 @@ private: void replaceWithMinOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (src1.numSamples, src2.numSamples, numSamples) * sizeFactor); + auto n = jmin (src1.numSamples, src2.numSamples, numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::min (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n); @@ -866,7 +863,7 @@ private: void replaceWithMaxOfInternal (AudioBlock src1, AudioBlock src2) const noexcept { jassert (numChannels == src1.numChannels && src1.numChannels == src2.numChannels); - auto n = static_cast (jmin (src1.numSamples, src2.numSamples, numSamples) * sizeFactor); + auto n = jmin (src1.numSamples, src2.numSamples, numSamples) * sizeFactor; for (size_t ch = 0; ch < numChannels; ++ch) FloatVectorOperations::max (getDataPointer (ch), src1.getDataPointer (ch), src2.getDataPointer (ch), n);