ExponentialMovingAverage.cs 497 B

1234567891011121314151617181920212223242526
  1. using System.Runtime.CompilerServices;
  2. namespace Ryujinx.Audio.Renderer.Dsp.Effect
  3. {
  4. public struct ExponentialMovingAverage
  5. {
  6. private float _mean;
  7. public ExponentialMovingAverage(float mean)
  8. {
  9. _mean = mean;
  10. }
  11. public float Read()
  12. {
  13. return _mean;
  14. }
  15. public float Update(float value, float alpha)
  16. {
  17. _mean += alpha * (value - _mean);
  18. return _mean;
  19. }
  20. }
  21. }