aboutsummaryrefslogblamecommitdiff
path: root/src/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
blob: d44aec0ae5b01b3fb43c1ad26caa051b99d1bb25 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                           








                                                   
                                    










                                                     
namespace Ryujinx.Audio.Renderer.Dsp.Effect
{
    public struct ExponentialMovingAverage
    {
        private float _mean;

        public ExponentialMovingAverage(float mean)
        {
            _mean = mean;
        }

        public readonly float Read()
        {
            return _mean;
        }

        public float Update(float value, float alpha)
        {
            _mean += alpha * (value - _mean);

            return _mean;
        }
    }
}