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
@@ -192,7 +192,7 @@ public class TheilUTests
iterativeResults.Add(theilUIterative.Update(new TValue(bar.Time, bar.Close), new TValue(bar.Time, predicted)).Value);
}
var batchResults = TheilU.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var batchResults = TheilU.Batch(actualSeries, predictedSeries, DefaultPeriod);
Assert.Equal(iterativeResults.Count, batchResults.Count);
for (int i = 0; i < iterativeResults.Count; i++)
@@ -236,7 +236,7 @@ public class TheilUTests
predictedArr[i] = pred;
}
var tseriesResult = TheilU.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var tseriesResult = TheilU.Batch(actualSeries, predictedSeries, DefaultPeriod);
TheilU.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), DefaultPeriod);
for (int i = 0; i < 100; i++)
@@ -285,7 +285,7 @@ public class TheilUTests
predicted.Add(DateTime.UtcNow.Ticks, 98);
Assert.Throws<ArgumentException>(() => TheilU.Calculate(actual, predicted, DefaultPeriod));
Assert.Throws<ArgumentException>(() => TheilU.Batch(actual, predicted, DefaultPeriod));
}
[Fact]
+10 -3
View File
@@ -75,7 +75,7 @@ public sealed class TheilU : AbstractBase
public override TSeries Update(TSeries source)
{
throw new NotSupportedException("TheilU requires two inputs. Use Calculate(actualSeries, predictedSeries, period).");
throw new NotSupportedException("TheilU requires two inputs. Use Batch(actualSeries, predictedSeries, period).");
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -170,7 +170,7 @@ public sealed class TheilU : AbstractBase
Last = default;
}
public static TSeries Calculate(TSeries actual, TSeries predicted, int period)
public static TSeries Batch(TSeries actual, TSeries predicted, int period)
{
if (actual.Count != predicted.Count)
{
@@ -352,4 +352,11 @@ public sealed class TheilU : AbstractBase
}
}
}
}
public static (TSeries Results, TheilU Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new TheilU(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
}