From 8a3c2570387a1026c84b84f8a65be8e8d99cf2ad Mon Sep 17 00:00:00 2001 From: Miha Kralj Date: Mon, 30 Sep 2024 09:21:52 -0700 Subject: [PATCH] Vidya fix --- lib/averages/Vidya.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/averages/Vidya.cs b/lib/averages/Vidya.cs index ff7f074e..539aced4 100644 --- a/lib/averages/Vidya.cs +++ b/lib/averages/Vidya.cs @@ -10,10 +10,10 @@ public class Vidya : AbstractBase private readonly int _longPeriod; private readonly double _alpha; private double _lastVIDYA, _p_lastVIDYA; - private CircularBuffer? _shortBuffer; - private CircularBuffer? _longBuffer; + private readonly CircularBuffer? _shortBuffer; + private readonly CircularBuffer? _longBuffer; - public Vidya(int shortPeriod, int longPeriod = 0, double alpha = 0.2) : base() + public Vidya(int shortPeriod, int longPeriod = 0, double alpha = 0.2) { if (shortPeriod < 1) { @@ -39,8 +39,6 @@ public class Vidya : AbstractBase { base.Init(); _lastVIDYA = 0; - _shortBuffer = new CircularBuffer(_shortPeriod); - _longBuffer = new CircularBuffer(_longPeriod); } protected override void ManageState(bool isNew) @@ -60,7 +58,7 @@ public class Vidya : AbstractBase protected override double Calculation() { ManageState(Input.IsNew); - + _shortBuffer!.Add(Input.Value, Input.IsNew); _longBuffer!.Add(Input.Value, Input.IsNew); @@ -84,7 +82,7 @@ public class Vidya : AbstractBase } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private double CalculateStdDev(CircularBuffer buffer) + private static double CalculateStdDev(CircularBuffer buffer) { double mean = buffer.Average(); double sumSquaredDiff = buffer.Sum(x => Math.Pow(x - mean, 2));