UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FloatArrayMath.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8namespace Audio
9{
12
15
22
29
36
39
42
45
57
68
71
74
80
87
94
102
109
113
118
121
124
130
136
139
142
149
152
160
170
178
179 /* Performs element-wise in-place subtraction placing the result in the subtrahend. InOutSubtrahend = InMinuend - InOutSubtrahend */
181
182 /* Performs element-wise in-place subtraction placing the result in the minuend. InOutMinuend = InOutMinuend - InSubtrahend */
184
187
188 /* Square values */
190
193
196
199
201
204
207
210
213
214 /* Sets a values to zero if value is denormal. Denormal numbers significantly slow down floating point operations. */
215 UE_DEPRECATED(5.5, "Audio code relies on denormals flush to zero floating point mode from now on. Please use FScopedFTZFloatMode instead of this API")
217
218 /* Clamps the values in a buffer between a min and max value.*/
220
223
224 /* Performs an element-wise weighted sum OutputBuffer = (InBuffer1 x InGain1) + (InBuffer2 x InGain2) */
225 SIGNALPROCESSING_API void ArrayWeightedSum(TArrayView<const float> InBuffer1, float InGain1, TArrayView<const float> InBuffer2, float InGain2, TArrayView<float> OutBuffer);
226
227 /* Performs an element-wise weighted sum OutputBuffer = (InBuffer1 x InGain1) + InBuffer2 */
228 SIGNALPROCESSING_API void ArrayWeightedSum(TArrayView<const float> InBuffer1, float InGain1, TArrayView<const float> InBuffer2, TArrayView<float> OutBuffer);
229
230 /* Takes a float buffer and quickly interpolates it's gain from StartValue to EndValue. */
231 /* This operation completely ignores channel counts, so avoid using this function on buffers that are not mono, stereo or quad */
232 /* if the buffer needs to fade all channels uniformly. */
233 SIGNALPROCESSING_API void ArrayFade(TArrayView<float> InOutBuffer, const float StartValue, const float EndValue);
234 SIGNALPROCESSING_API void ArrayFade(TArrayView<const float> InBuffer, const float InStartValue, const float InEndValue, TArrayView<float> OutBuffer);
235
237 SIGNALPROCESSING_API void ArrayMixIn(TArrayView<const float> InFloatBuffer, TArrayView<float> BufferToSumTo, const float Gain);
239
241 SIGNALPROCESSING_API void ArrayMixIn(TArrayView<const int16> InPcm16Buffer, TArrayView<float> BufferToSumTo, const float Gain = 1.0f);
242
244 SIGNALPROCESSING_API void ArrayMixIn(TArrayView<const float> InFloatBuffer, TArrayView<float> BufferToSumTo, const float StartGain, const float EndGain);
245
248
257
260
262 SIGNALPROCESSING_API void ArrayInterleave(const float* const* RESTRICT InBuffers, float* RESTRICT OutBuffer, const int32 InFrames, const int32 InChannels);
263
266
269
272
275
278
281
284
287
290
292 UE_DEPRECATED(5.5, "Big Endian platforms are no longer supported.")
294 {
295#if PLATFORM_LITTLE_ENDIAN
296 return true;
297#else
298 return false;
299#endif // PLATFORM_LITTLE_ENDIAN
300 }
301
303 SIGNALPROCESSING_API void ArrayAPFLongDelayProcess(const float* InSamples, const float* InDelaySamples, const int32 InNum, float* OutSamples, float* OutDelaySamples, const float Gain);
304
306 SIGNALPROCESSING_API void ArrayLerpFractionalDelay(const float* InSamples, const float* InDelays, const float* DelayData, const int* IntegerDelays, int* UpperDelayPos, int* LowerDelayPos, const int32 InNum, float* OutSamples, const float MaxDelay);
307
310
383
384}
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define RESTRICT
Definition Platform.h:706
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
Definition FloatArrayMath.h:323
SIGNALPROCESSING_API void TransformArray(TArrayView< const float > InView, TArray< float > &OutArray) const
Definition FloatArrayMath.cpp:3172
FContiguousSparse2DKernelTransform(const FContiguousSparse2DKernelTransform &&)=delete
SIGNALPROCESSING_API void SetRow(const int32 RowIndex, const int32 StartIndex, TArrayView< const float > OffsetValues)
Definition FloatArrayMath.cpp:3163
FContiguousSparse2DKernelTransform & operator=(const FContiguousSparse2DKernelTransform &)=delete
SIGNALPROCESSING_API int32 GetNumInElements() const
Definition FloatArrayMath.cpp:3152
FContiguousSparse2DKernelTransform(const FContiguousSparse2DKernelTransform &)=delete
virtual SIGNALPROCESSING_API ~FContiguousSparse2DKernelTransform()
Definition FloatArrayMath.cpp:3148
SIGNALPROCESSING_API int32 GetNumOutElements() const
Definition FloatArrayMath.cpp:3158
Definition ArrayView.h:139
Definition Array.h:670
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
void ArrayAddInPlace(TArrayView< const float > InValues, TArrayView< float > InAccumulateValues)
Definition FloatArrayMath.cpp:1127
void ArrayComplexMultiplyAdd(TArrayView< const float > InValues1, TArrayView< const float > InValues2, TArrayView< float > OutArray)
Definition FloatArrayMath.cpp:957
void ArrayMultiplyByConstantInPlace(TArrayView< float > InOutBuffer, float InGain)
Definition FloatArrayMath.cpp:1088
void ArrayLerpAddInPlace(TArrayView< const float > InValues, float InStartMultiplier, float InEndMultiplier, TArrayView< float > InAccumulateValues)
Definition FloatArrayMath.cpp:1235
float ArrayGetMagnitude(TArrayView< const float > Buffer)
Definition FloatArrayMath.cpp:228
void ArrayAPFLongDelayProcess(const float *InSamples, const float *InDelaySamples, const int32 InNum, float *OutSamples, float *OutDelaySamples, const float Gain)
Definition FloatArrayMath.cpp:2989
void ArrayGetEuclideanNorm(TArrayView< const float > InView, float &OutEuclideanNorm)
Definition FloatArrayMath.cpp:524
void ArrayMeanSquared(TArrayView< const float > InView, float &OutMean)
Definition FloatArrayMath.cpp:197
void ArrayFloatToPcmDouble(TArrayView< const float > InView, TArrayView< double > OutView)
Definition FloatArrayMath.cpp:2640
void ArraySquare(TArrayView< const float > InValues, TArrayView< float > OutValues)
Definition FloatArrayMath.cpp:1449
void ArraySquareInPlace(TArrayView< float > InValues)
Definition FloatArrayMath.cpp:1490
void ArrayComplexConjugateInPlace(TArrayView< float > InValues)
Definition FloatArrayMath.cpp:1598
void ArrayDeinterleave(const FAlignedFloatBuffer &InBuffer, TArray< FAlignedFloatBuffer > &OutBuffers, const int32 InChannels)
Definition FloatArrayMath.cpp:2708
void ArraySqrtInPlace(TArrayView< float > InValues)
Definition FloatArrayMath.cpp:1528
void ArrayMultiplyInPlace(TArrayView< const float > InFloatBuffer, TArrayView< float > BufferToMultiply)
Definition FloatArrayMath.cpp:859
void ArrayFloatToPcm24(TArrayView< const float > InView, TArrayView< int8 > OutView)
Definition FloatArrayMath.cpp:2540
void ArrayAbsInPlace(TArrayView< float > InView)
Definition FloatArrayMath.cpp:591
void ArrayClampInPlace(TArrayView< float > InView, float InMin, float InMax)
Definition FloatArrayMath.cpp:669
void ArrayInterpolate(const float *InBuffer, float *OutBuffer, const int32 NumInSamples, const int32 NumOutSamples)
Definition FloatArrayMath.cpp:2758
void ArrayPcm16ToFloat(TArrayView< const int16 > InView, TArrayView< float > OutView)
Definition FloatArrayMath.cpp:2476
void ArrayLerpFractionalDelay(const float *InSamples, const float *InDelays, const float *DelayData, const int *IntegerDelays, int *UpperDelayPos, int *LowerDelayPos, const int32 InNum, float *OutSamples, const float MaxDelay)
Definition FloatArrayMath.cpp:3032
void ArrayInt32SwapBytes(TArrayView< int32 > InView)
Definition FloatArrayMath.cpp:2912
void ArrayMinMaxNormalize(TArrayView< const float > InView, TArray< float > &OutArray)
Definition FloatArrayMath.cpp:691
void ArraySum(TArrayView< const float > InValues, float &OutSum)
Definition FloatArrayMath.cpp:46
void ArrayFade(TArrayView< float > InOutBuffer, const float StartValue, const float EndValue)
Definition FloatArrayMath.cpp:2087
void ArraySubtractByConstantInPlace(TArrayView< float > InValues, float InSubtrahend)
Definition FloatArrayMath.cpp:1411
void ArrayAbs(TArrayView< const float > InBuffer, TArrayView< float > OutBuffer)
Definition FloatArrayMath.cpp:551
void ArrayClampMinInPlace(TArrayView< float > InView, float InMin)
Definition FloatArrayMath.cpp:627
void ArrayInt24SwapBytes(TArrayView< int8 > InView)
Definition FloatArrayMath.cpp:2873
void ArrayFloatSwapBytes(TArrayView< float > InView)
Definition FloatArrayMath.cpp:2946
void ArraySetToConstantInplace(TArrayView< float > InOutBuffer, float InConstant)
Definition FloatArrayMath.cpp:1951
float ArrayGetAverageAbsValue(TArrayView< const float > Buffer)
Definition FloatArrayMath.cpp:323
void ArrayUnderflowClamp(TArrayView< float > InOutValues)
Definition FloatArrayMath.cpp:1848
SIGNALPROCESSING_API constexpr bool IsHostLittleEndian()
Definition FloatArrayMath.h:293
void ArrayInterleave(const TArray< FAlignedFloatBuffer > &InBuffers, FAlignedFloatBuffer &OutBuffer)
Definition FloatArrayMath.cpp:2667
void ArraySubtractInPlace2(TArrayView< float > InOutMinuend, TArrayView< const float > InSubtrahend)
Definition FloatArrayMath.cpp:1371
void ArrayMixIn(TArrayView< const float > InFloatBuffer, TArrayView< float > BufferToSumTo, const float Gain)
Definition FloatArrayMath.cpp:2227
void ArrayMean(TArrayView< const float > InView, float &OutMean)
Definition FloatArrayMath.cpp:165
void ArrayPowerToDecibelInPlace(TArrayView< float > InValues, float InMinimumDb)
Definition FloatArrayMath.cpp:1695
void ArrayMultiplyByConstant(TArrayView< const float > InFloatBuffer, float InValue, TArrayView< float > OutFloatBuffer)
Definition FloatArrayMath.cpp:1037
void ArrayMax(const TArrayView< const float > &InView1, const TArrayView< const float > &InView2, const TArrayView< float > &OutView)
Definition FloatArrayMath.cpp:740
void ArrayComplexMultiplyInPlace(TArrayView< const float > InValues1, TArrayView< float > InValues2)
Definition FloatArrayMath.cpp:899
void ArrayCumulativeSum(TArrayView< const float > InView, TArray< float > &OutData)
Definition FloatArrayMath.cpp:130
float ArrayMaxAbsValue(const TArrayView< const float > InView)
Definition FloatArrayMath.cpp:779
void ArrayInt16SwapBytes(TArrayView< int16 > InView)
Definition FloatArrayMath.cpp:2841
void ArrayDoubleSwapBytes(TArrayView< double > InView)
Definition FloatArrayMath.cpp:2953
void ArrayComplexConjugate(TArrayView< const float > InValues, TArrayView< float > OutValues)
Definition FloatArrayMath.cpp:1550
SIGNALPROCESSING_API void AssignPcm24Value(int8 *OutPtr, const int32 InValue, const bool bIsOutputLittleEndian)
void ArrayMultiplyAddInPlace(TArrayView< const float > InValues, float InMultiplier, TArrayView< float > InAccumulateValues)
Definition FloatArrayMath.cpp:1210
void ArrayMaxFilter(TArrayView< const float > InView, int32 WindowSize, int32 WindowOrigin, TArray< float > &OutData)
Definition FloatArrayMath.cpp:444
void ArrayComplexToPower(TArrayView< const float > InComplexValues, TArrayView< float > OutPowerValues)
Definition FloatArrayMath.cpp:1744
void ArrayAddConstantInplace(TArrayView< float > InOutBuffer, float InConstant)
Definition FloatArrayMath.cpp:1171
void ArrayWeightedSum(TArrayView< const float > InBuffer1, float InGain1, TArrayView< const float > InBuffer2, float InGain2, TArrayView< float > OutBuffer)
Definition FloatArrayMath.cpp:1990
void ArrayMagnitudeToDecibelInPlace(TArrayView< float > InValues, float InMinimumDb)
Definition FloatArrayMath.cpp:1646
void ArrayMeanFilter(TArrayView< const float > InView, int32 WindowSize, int32 WindowOrigin, TArray< float > &OutData)
Definition FloatArrayMath.cpp:369
void ArraySubtractInPlace1(TArrayView< const float > InMinuend, TArrayView< float > InOutSubtrahend)
Definition FloatArrayMath.cpp:1330
void ArrayMultiply(TArrayView< const float > InFloatBufferA, TArrayView< const float > InFloatBufferB, TArrayView< float > OutBuffer)
Definition FloatArrayMath.cpp:826
void ArraySubtract(TArrayView< const float > InMinuend, TArrayView< const float > InSubtrahend, TArrayView< float > OutBuffer)
Definition FloatArrayMath.cpp:1290
void ArrayFloatToPcm16(TArrayView< const float > InView, TArrayView< int16 > OutView)
Definition FloatArrayMath.cpp:2418
void ArrayFloatToPcm32(TArrayView< const float > InView, TArrayView< int32 > OutView)
Definition FloatArrayMath.cpp:2605
void ArrayClampMaxInPlace(TArrayView< float > InView, float InMax)
Definition FloatArrayMath.cpp:648
void ArrayScaledComplexConjugate(const float *RESTRICT InValues, const int32 Num, float *RESTRICT OutValues, const float Scale)
Definition FloatArrayMath.cpp:3096
float ArrayGetAverageValue(TArrayView< const float > Buffer)
Definition FloatArrayMath.cpp:277
void ArrayRangeClamp(TArrayView< float > InOutBuffer, float InMinValue, float InMaxValue)
Definition FloatArrayMath.cpp:1902