diff options
Diffstat (limited to 'Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs')
| -rw-r--r-- | Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs b/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs new file mode 100644 index 00000000..78e46bf9 --- /dev/null +++ b/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs @@ -0,0 +1,26 @@ +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; + } + } +} |
