Vidya fix

This commit is contained in:
Miha Kralj
2024-09-30 09:21:52 -07:00
parent c35d46a962
commit 8a3c257038
+4 -6
View File
@@ -10,10 +10,10 @@ public class Vidya : AbstractBase
private readonly int _longPeriod; private readonly int _longPeriod;
private readonly double _alpha; private readonly double _alpha;
private double _lastVIDYA, _p_lastVIDYA; private double _lastVIDYA, _p_lastVIDYA;
private CircularBuffer? _shortBuffer; private readonly CircularBuffer? _shortBuffer;
private CircularBuffer? _longBuffer; 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) if (shortPeriod < 1)
{ {
@@ -39,8 +39,6 @@ public class Vidya : AbstractBase
{ {
base.Init(); base.Init();
_lastVIDYA = 0; _lastVIDYA = 0;
_shortBuffer = new CircularBuffer(_shortPeriod);
_longBuffer = new CircularBuffer(_longPeriod);
} }
protected override void ManageState(bool isNew) protected override void ManageState(bool isNew)
@@ -84,7 +82,7 @@ public class Vidya : AbstractBase
} }
[MethodImpl(MethodImplOptions.AggressiveInlining)] [MethodImpl(MethodImplOptions.AggressiveInlining)]
private double CalculateStdDev(CircularBuffer buffer) private static double CalculateStdDev(CircularBuffer buffer)
{ {
double mean = buffer.Average(); double mean = buffer.Average();
double sumSquaredDiff = buffer.Sum(x => Math.Pow(x - mean, 2)); double sumSquaredDiff = buffer.Sum(x => Math.Pow(x - mean, 2));