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
@@ -236,7 +236,7 @@ public class MpeTests
iterativeResults.Add(mpeIterative.Update(actualSeries[i], predictedSeries[i]).Value);
}
var batchResults = Mpe.Calculate(actualSeries, predictedSeries, 10);
var batchResults = Mpe.Batch(actualSeries, predictedSeries, 10);
Assert.Equal(iterativeResults.Count, batchResults.Count);
for (int i = 0; i < iterativeResults.Count; i++)
@@ -280,7 +280,7 @@ public class MpeTests
predictedSeries.Add(bar.Time, bar.Close * 0.95);
}
var tseriesResult = Mpe.Calculate(actualSeries, predictedSeries, 10);
var tseriesResult = Mpe.Batch(actualSeries, predictedSeries, 10);
Mpe.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), 10);
for (int i = 0; i < 100; i++)
@@ -314,7 +314,7 @@ public class MpeTests
actual.Add(DateTime.UtcNow.Ticks + 1, 100);
predicted.Add(DateTime.UtcNow.Ticks, 90);
Assert.Throws<ArgumentException>(() => Mpe.Calculate(actual, predicted, 5));
Assert.Throws<ArgumentException>(() => Mpe.Batch(actual, predicted, 5));
}
[Fact]
+9 -2
View File
@@ -52,7 +52,7 @@ public sealed class Mpe : BiInputIndicatorBase
/// <summary>
/// Calculates MPE for entire series.
/// </summary>
public static TSeries Calculate(TSeries actual, TSeries predicted, int period)
public static TSeries Batch(TSeries actual, TSeries predicted, int period)
=> CalculateImpl(actual, predicted, period, Batch);
/// <summary>
@@ -78,6 +78,13 @@ public sealed class Mpe : BiInputIndicatorBase
ErrorHelpers.ApplyRollingMean(errors, output, period);
}
public static (TSeries Results, Mpe Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new Mpe(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static void ComputeSignedPercentageErrors(ReadOnlySpan<double> actual, ReadOnlySpan<double> predicted, Span<double> output)
{
@@ -139,4 +146,4 @@ public sealed class Mpe : BiInputIndicatorBase
output[i] = 100.0 * (act - pred) / divisor;
}
}
}
}