canto/Assets/Scripts/System/ExponentialMovingAverage.cs
2025-08-14 19:11:32 -04:00

22 lines
444 B
C#

namespace KitsuneCafe.Sys
{
public class ExponentialMovingAverage
{
private readonly float alpha;
private float previousAverage = float.NaN;
public ExponentialMovingAverage(int period)
{
alpha = 2f / (period + 1);
}
public float Add(float value)
{
if (float.IsNaN(previousAverage))
{
return value;
}
return (value - previousAverage) * alpha + previousAverage;
}
}
}