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
@@ -290,7 +290,7 @@ public class RsquaredTests
iterativeResults.Add(r2Iterative.Update(actual[i], predicted[i]).Value);
}
var batchResults = Rsquared.Calculate(actual, predicted, Period);
var batchResults = Rsquared.Batch(actual, predicted, Period);
Assert.Equal(iterativeResults.Count, batchResults.Count);
for (int i = 0; i < iterativeResults.Count; i++)
@@ -331,7 +331,7 @@ public class RsquaredTests
double[] predictedArr = predictedSeries.Values.ToArray();
double[] output = new double[100];
var tseriesResult = Rsquared.Calculate(actualSeries, predictedSeries, Period);
var tseriesResult = Rsquared.Batch(actualSeries, predictedSeries, Period);
Rsquared.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), Period);
for (int i = 0; i < 100; i++)
@@ -352,7 +352,7 @@ public class RsquaredTests
}
// 1. Batch Mode (static method)
var batchSeries = Rsquared.Calculate(actualSeries, predictedSeries, Period);
var batchSeries = Rsquared.Batch(actualSeries, predictedSeries, Period);
double expected = batchSeries.Last.Value;
// 2. Span Mode
+10 -3
View File
@@ -160,7 +160,7 @@ public sealed class Rsquared : AbstractBase
public override TSeries Update(TSeries source)
{
throw new NotSupportedException("R² requires two inputs. Use Calculate(actualSeries, predictedSeries, period).");
throw new NotSupportedException("R² requires two inputs. Use Batch(actualSeries, predictedSeries, period).");
}
public override void Prime(ReadOnlySpan<double> source, TimeSpan? step = null)
@@ -178,7 +178,7 @@ public sealed class Rsquared : 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)
{
@@ -360,4 +360,11 @@ public sealed class Rsquared : AbstractBase
}
}
}
}
public static (TSeries Results, Rsquared Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new Rsquared(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
}