mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-18 10:38:05 +00:00
[CodeFactor] Apply fixes to commit 0606491
This commit is contained in:
@@ -524,7 +524,7 @@ public class BetadistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -115,7 +115,7 @@ public class BetadistValidationTests
|
||||
|
||||
for (int i = 0; i <= 10; i++)
|
||||
{
|
||||
double x = i / 10.0 + 1e-10; // avoid exact 0
|
||||
double x = (i / 10.0) + 1e-10; // avoid exact 0
|
||||
x = Math.Min(x, 1.0 - 1e-10);
|
||||
double cdf = Betadist.IncompleteBeta(x, alpha, beta);
|
||||
|
||||
|
||||
@@ -489,7 +489,7 @@ public class BinomdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -249,8 +249,8 @@ public class ChangeValidationTests
|
||||
0.0,
|
||||
0.1, // (110-100)/100
|
||||
-0.1, // (99-110)/110
|
||||
120.0 / 99.0 - 1.0, // (120-99)/99
|
||||
100.0 / 120.0 - 1.0 // (100-120)/120
|
||||
(120.0 / 99.0) - 1.0, // (120-99)/99
|
||||
(100.0 / 120.0) - 1.0 // (100-120)/120
|
||||
];
|
||||
|
||||
var indicator = new Change(period);
|
||||
|
||||
@@ -496,7 +496,7 @@ public class CwtTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -518,7 +518,7 @@ public class DwtTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -516,7 +516,7 @@ public class ExpdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -535,7 +535,7 @@ public class FdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -213,7 +213,7 @@ public class FdistValidationTests
|
||||
public void FdistCdf_ParameterCombos_OutputBounded(int d1, int d2, int period)
|
||||
{
|
||||
int count = period + 50;
|
||||
var gbm = new GBM(startPrice: 100, mu: 0.05, sigma: 0.2, seed: 66004 + d1 * 100 + d2);
|
||||
var gbm = new GBM(startPrice: 100, mu: 0.05, sigma: 0.2, seed: 66004 + (d1 * 100) + d2);
|
||||
var bars = gbm.Fetch(count, DateTime.UtcNow.Ticks, TimeSpan.FromMinutes(1));
|
||||
|
||||
var indicator = new Fdist(d1, d2, period);
|
||||
|
||||
@@ -524,7 +524,7 @@ public class FftTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.2) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.2) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
@@ -589,7 +589,7 @@ public class FftTests
|
||||
var time = DateTime.UtcNow;
|
||||
for (int i = 0; i < windowSize; i++)
|
||||
{
|
||||
source.Add(new TValue(time.AddMinutes(i), 100.0 + Math.Sin(i * 0.5) * 5.0), true);
|
||||
source.Add(new TValue(time.AddMinutes(i), 100.0 + (Math.Sin(i * 0.5) * 5.0)), true);
|
||||
}
|
||||
|
||||
Assert.True(indicator.IsHot);
|
||||
@@ -648,7 +648,7 @@ public class FftTests
|
||||
// Feed 3x the window size to ensure convergence
|
||||
for (int i = 0; i < windowSize * 3; i++)
|
||||
{
|
||||
double signal = 50.0 + 10.0 * Math.Sin(2.0 * Math.PI * i / period);
|
||||
double signal = 50.0 + (10.0 * Math.Sin(2.0 * Math.PI * i / period));
|
||||
indicator.Update(new TValue(time.AddMinutes(i), signal), true);
|
||||
}
|
||||
|
||||
|
||||
@@ -550,7 +550,7 @@ public class GammadistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -499,7 +499,7 @@ public class IfftTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.2) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.2) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
@@ -564,7 +564,7 @@ public class IfftTests
|
||||
var time = DateTime.UtcNow;
|
||||
for (int i = 0; i < windowSize; i++)
|
||||
{
|
||||
source.Add(new TValue(time.AddMinutes(i), 100.0 + Math.Sin(i * 0.5) * 5.0), true);
|
||||
source.Add(new TValue(time.AddMinutes(i), 100.0 + (Math.Sin(i * 0.5) * 5.0)), true);
|
||||
}
|
||||
|
||||
Assert.True(indicator.IsHot);
|
||||
@@ -657,10 +657,10 @@ public class IfftTests
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
double v = 100.0
|
||||
+ 10.0 * Math.Sin(twoPiOverN * 1 * i)
|
||||
+ 10.0 * Math.Sin(twoPiOverN * 2 * i)
|
||||
+ 10.0 * Math.Sin(twoPiOverN * 4 * i)
|
||||
+ 10.0 * Math.Sin(twoPiOverN * 8 * i);
|
||||
+ (10.0 * Math.Sin(twoPiOverN * 1 * i))
|
||||
+ (10.0 * Math.Sin(twoPiOverN * 2 * i))
|
||||
+ (10.0 * Math.Sin(twoPiOverN * 4 * i))
|
||||
+ (10.0 * Math.Sin(twoPiOverN * 8 * i));
|
||||
values.Add(new TValue(time.AddMinutes(i), v));
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ public class IfftValidationTests
|
||||
var values = new List<TValue>(count);
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
values.Add(new TValue(time.AddMinutes(i), 100.0 + 30.0 * Math.Sin(twoPiOverN * 1 * i)));
|
||||
values.Add(new TValue(time.AddMinutes(i), 100.0 + (30.0 * Math.Sin(twoPiOverN * 1 * i))));
|
||||
}
|
||||
|
||||
var indH1 = new Ifft(windowSize, numHarmonics: 1);
|
||||
@@ -294,7 +294,7 @@ public class IfftValidationTests
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
double v = 100.0 + 25.0 * Math.Sin(twoPiOverN * 1 * i);
|
||||
double v = 100.0 + (25.0 * Math.Sin(twoPiOverN * 1 * i));
|
||||
indH1.Update(new TValue(time.AddMinutes(i), v));
|
||||
if (indH1.IsHot)
|
||||
{
|
||||
|
||||
@@ -328,7 +328,7 @@ public class JerkTests
|
||||
|
||||
for (int i = 0; i < 30; i++)
|
||||
{
|
||||
source.Add(now.AddSeconds(i), 100 + i * 0.5);
|
||||
source.Add(now.AddSeconds(i), 100 + (i * 0.5));
|
||||
}
|
||||
|
||||
var (results, indicator) = Jerk.Calculate(source);
|
||||
|
||||
@@ -23,7 +23,7 @@ public class LineartransValidationTests
|
||||
|
||||
for (int i = 0; i < series.Count; i++)
|
||||
{
|
||||
double expected = slope * series[i].Value + intercept;
|
||||
double expected = (slope * series[i].Value) + intercept;
|
||||
Assert.Equal(expected, result[i].Value, Tolerance);
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ public class LineartransValidationTests
|
||||
for (int i = 0; i < series.Count; i++)
|
||||
{
|
||||
var result = linear.Update(series[i], true);
|
||||
double expected = slope * series[i].Value + intercept;
|
||||
double expected = (slope * series[i].Value) + intercept;
|
||||
Assert.Equal(expected, result.Value, Tolerance);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +59,7 @@ public class LineartransValidationTests
|
||||
|
||||
for (int i = 0; i < source.Length; i++)
|
||||
{
|
||||
double expected = slope * source[i] + intercept;
|
||||
double expected = (slope * source[i]) + intercept;
|
||||
Assert.Equal(expected, output[i], Tolerance);
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@ public class LineartransValidationTests
|
||||
|
||||
// Direct composed transform: y = c*(a*x + b) + d = (a*c)*x + (b*c + d)
|
||||
double composedSlope = a * c;
|
||||
double composedIntercept = b * c + d;
|
||||
double composedIntercept = (b * c) + d;
|
||||
var direct = Lineartrans.Batch(series, composedSlope, composedIntercept);
|
||||
|
||||
for (int i = 0; i < series.Count; i++)
|
||||
|
||||
@@ -498,7 +498,7 @@ public class LognormdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -163,9 +163,9 @@ public class NormalizeValidationTests
|
||||
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal));
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal + epsilon));
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal + epsilon / 2));
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal + epsilon / 4));
|
||||
var result = norm.Update(new TValue(DateTime.UtcNow, baseVal + epsilon * 0.75));
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal + (epsilon / 2)));
|
||||
norm.Update(new TValue(DateTime.UtcNow, baseVal + (epsilon / 4)));
|
||||
var result = norm.Update(new TValue(DateTime.UtcNow, baseVal + (epsilon * 0.75)));
|
||||
|
||||
// Should be in valid range
|
||||
Assert.True(result.Value >= 0.0 && result.Value <= 1.0);
|
||||
|
||||
@@ -512,7 +512,7 @@ public class NormdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -487,7 +487,7 @@ public class PoissondistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -155,7 +155,7 @@ public class SlopeValidationTests
|
||||
double[] data = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
data[i] = 100.0 + i * 0.5;
|
||||
data[i] = 100.0 + (i * 0.5);
|
||||
}
|
||||
|
||||
var slope = new Slope();
|
||||
|
||||
@@ -510,7 +510,7 @@ public class TdistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
@@ -249,7 +249,7 @@ public class TdistValidationTests
|
||||
// Cauchy (ν=1): CDF(100; 1) = 0.5 + arctan(100)/π ≈ 0.99681...
|
||||
// Heavy tails — does NOT approach 1 quickly
|
||||
double cdf = Tdist.StaticCdf(100.0, 1);
|
||||
double expected = 0.5 + Math.Atan(100.0) / Math.PI;
|
||||
double expected = 0.5 + (Math.Atan(100.0) / Math.PI);
|
||||
Assert.Equal(expected, cdf, 1e-9);
|
||||
Assert.True(cdf > 0.99 && cdf < 1.0, $"Cauchy CDF(100) = {cdf} should be in (0.99, 1.0)");
|
||||
}
|
||||
@@ -269,7 +269,7 @@ public class TdistValidationTests
|
||||
{
|
||||
// Cauchy (ν=1): CDF(-100; 1) = 0.5 - arctan(100)/π ≈ 0.00319...
|
||||
double cdf = Tdist.StaticCdf(-100.0, 1);
|
||||
double expected = 0.5 - Math.Atan(100.0) / Math.PI;
|
||||
double expected = 0.5 - (Math.Atan(100.0) / Math.PI);
|
||||
Assert.Equal(expected, cdf, 1e-9);
|
||||
Assert.True(cdf > 0.0 && cdf < 0.01, $"Cauchy CDF(-100) = {cdf} should be in (0, 0.01)");
|
||||
}
|
||||
|
||||
@@ -556,7 +556,7 @@ public class WeibulldistTests
|
||||
double[] src = new double[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
src[i] = 100.0 + Math.Sin(i * 0.1) * 10.0;
|
||||
src[i] = 100.0 + (Math.Sin(i * 0.1) * 10.0);
|
||||
}
|
||||
|
||||
double[] dst = new double[count];
|
||||
|
||||
Reference in New Issue
Block a user