normalization of methods

This commit is contained in:
Miha Kralj
2026-02-10 21:33:16 -08:00
parent 915d7a007b
commit 6d6259a47d
527 changed files with 10525 additions and 2123 deletions
+3 -3
View File
@@ -235,7 +235,7 @@ public class TukeyBiweightTests
iterativeResults.Add(tukeyIterative.Update(actual, predicted).Value);
}
var batchResults = TukeyBiweight.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var batchResults = TukeyBiweight.Batch(actualSeries, predictedSeries, DefaultPeriod);
Assert.Equal(iterativeResults.Count, batchResults.Count);
for (int i = 0; i < iterativeResults.Count; i++)
@@ -282,7 +282,7 @@ public class TukeyBiweightTests
predictedArr[i] = pred;
}
var tseriesResult = TukeyBiweight.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var tseriesResult = TukeyBiweight.Batch(actualSeries, predictedSeries, DefaultPeriod);
TukeyBiweight.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), DefaultPeriod);
for (int i = 0; i < 100; i++)
@@ -331,7 +331,7 @@ public class TukeyBiweightTests
predicted.Add(DateTime.UtcNow.Ticks, 98);
Assert.Throws<ArgumentException>(() => TukeyBiweight.Calculate(actual, predicted, DefaultPeriod));
Assert.Throws<ArgumentException>(() => TukeyBiweight.Batch(actual, predicted, DefaultPeriod));
}
[Fact]
+9 -2
View File
@@ -66,7 +66,7 @@ public sealed class TukeyBiweight : BiInputIndicatorBase
return _cSquaredOver6 * (1.0 - cubed);
}
public static TSeries Calculate(TSeries actual, TSeries predicted, int period, double c = DefaultC)
public static TSeries Batch(TSeries actual, TSeries predicted, int period, double c = DefaultC)
{
if (actual.Count != predicted.Count)
{
@@ -129,4 +129,11 @@ public sealed class TukeyBiweight : BiInputIndicatorBase
ArrayPool<double>.Shared.Return(rented, clearArray: false);
}
}
}
public static (TSeries Results, TukeyBiweight Indicator) Calculate(TSeries actual, TSeries predicted, int period, double c = DefaultC)
{
var indicator = new TukeyBiweight(period, c);
TSeries results = Batch(actual, predicted, period, c);
return (results, indicator);
}
}