mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-20 03:28:05 +00:00
[CodeFactor] Apply fixes to commit 4a01f03
This commit is contained in:
@@ -79,7 +79,7 @@ public sealed class BaxterKing : AbstractBase
|
||||
_pLow = pLow;
|
||||
_pHigh = pHigh;
|
||||
_k = k;
|
||||
_filterLen = 2 * k + 1;
|
||||
_filterLen = (2 * k) + 1;
|
||||
|
||||
Name = $"BaxterKing({pLow},{pHigh},{k})";
|
||||
WarmupPeriod = _filterLen;
|
||||
@@ -218,7 +218,7 @@ public sealed class BaxterKing : AbstractBase
|
||||
{
|
||||
double a = 2.0 * Math.PI / pHigh; // low cutoff angular frequency
|
||||
double b = 2.0 * Math.PI / pLow; // high cutoff angular frequency
|
||||
int filterLen = 2 * k + 1;
|
||||
int filterLen = (2 * k) + 1;
|
||||
|
||||
// Compute ideal band-pass weights B[j] for j = 0..K
|
||||
// B_0 = (b - a) / pi
|
||||
@@ -266,7 +266,7 @@ public sealed class BaxterKing : AbstractBase
|
||||
public static void Batch(ReadOnlySpan<double> source, Span<double> output,
|
||||
int pLow = 6, int pHigh = 32, int k = 12)
|
||||
{
|
||||
int filterLen = 2 * k + 1;
|
||||
int filterLen = (2 * k) + 1;
|
||||
double[] weights = new double[filterLen];
|
||||
ComputeWeights(weights, pLow, pHigh, k);
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ public sealed class Bilateral : AbstractBase
|
||||
// Use Math.Max(0, ...) to handle potential floating point negative zero
|
||||
// Pre-compute inverse for efficiency
|
||||
double invCount = 1.0 / count;
|
||||
double variance = Math.Max(0, (_state.SumSq - sum * sum * invCount) * invCount);
|
||||
double variance = Math.Max(0, (_state.SumSq - (sum * sum * invCount)) * invCount);
|
||||
double stdev = Math.Sqrt(variance);
|
||||
|
||||
double sigmaR = Math.Max(stdev * _sigmaRMult, 1e-10);
|
||||
@@ -437,7 +437,7 @@ public sealed class Bilateral : AbstractBase
|
||||
|
||||
// Calculate StDev
|
||||
double invCount = 1.0 / count;
|
||||
double variance = Math.Max(0, (sumSq - sum * sum * invCount) * invCount);
|
||||
double variance = Math.Max(0, (sumSq - (sum * sum * invCount)) * invCount);
|
||||
double stdev = Math.Sqrt(variance);
|
||||
|
||||
double sigmaR = Math.Max(stdev * sigmaRMult, 1e-10);
|
||||
|
||||
@@ -267,7 +267,7 @@ public sealed class Loess : AbstractBase
|
||||
dist = 0.9999;
|
||||
}
|
||||
|
||||
double t = 1.0 - dist * dist * dist;
|
||||
double t = 1.0 - (dist * dist * dist);
|
||||
double w = t * t * t;
|
||||
|
||||
double xi = i - halfWindow;
|
||||
@@ -277,7 +277,7 @@ public sealed class Loess : AbstractBase
|
||||
x2Sum += xi * xi * w;
|
||||
}
|
||||
|
||||
double delta = weightSum * x2Sum - xSum * xSum;
|
||||
double delta = (weightSum * x2Sum) - (xSum * xSum);
|
||||
if (Math.Abs(delta) < double.Epsilon)
|
||||
{
|
||||
delta = 1.0;
|
||||
@@ -293,12 +293,12 @@ public sealed class Loess : AbstractBase
|
||||
dist = 0.9999;
|
||||
}
|
||||
|
||||
double t = 1.0 - dist * dist * dist;
|
||||
double t = 1.0 - (dist * dist * dist);
|
||||
double w = t * t * t;
|
||||
double xi = i - halfWindow;
|
||||
|
||||
double term1 = x2Sum - xi * xSum;
|
||||
double term2 = targetX * (xi * weightSum - xSum);
|
||||
double term1 = x2Sum - (xi * xSum);
|
||||
double term2 = targetX * ((xi * weightSum) - xSum);
|
||||
|
||||
double kValue = (w / delta) * (term1 + term2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user