aboutsummaryrefslogblamecommitdiff
path: root/src/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
blob: 78e46bf96255b53c37636f5b49db9ccc3304f4c9 (plain) (tree)
























                                                     
using System.Runtime.CompilerServices;

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

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

        public float Read()
        {
            return _mean;
        }

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

            return _mean;
        }
    }
}