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
@@ -258,7 +258,7 @@ public class StandardizeTests
}
// Static calculation
var staticResult = Standardize.Calculate(tseries, 14);
var staticResult = Standardize.Batch(tseries, 14);
// Streaming calculation
var streamStandardize = new Standardize(14);
@@ -283,7 +283,7 @@ public class StandardizeTests
double[] output = new double[values.Length];
// Span calculation
Standardize.Calculate(values, output, 14);
Standardize.Batch(values, output, 14);
// Streaming calculation
var standardize = new Standardize(14);
@@ -300,9 +300,9 @@ public class StandardizeTests
double[] source = [1, 2, 3, 4, 5];
double[] output = new double[5];
Assert.Throws<ArgumentException>(() => Standardize.Calculate([], output));
Assert.Throws<ArgumentException>(() => Standardize.Calculate(source, new double[3]));
Assert.Throws<ArgumentException>(() => Standardize.Calculate(source, output, 1));
Assert.Throws<ArgumentException>(() => Standardize.Batch([], output));
Assert.Throws<ArgumentException>(() => Standardize.Batch(source, new double[3]));
Assert.Throws<ArgumentException>(() => Standardize.Batch(source, output, 1));
}
[Fact]
@@ -243,7 +243,7 @@ public class StandardizeValidationTests
// Batch
double[] batchResults = new double[values.Length];
Standardize.Calculate(values, batchResults, 14);
Standardize.Batch(values, batchResults, 14);
// Compare all values
for (int i = 0; i < values.Length; i++)
@@ -273,12 +273,12 @@ public class StandardizeValidationTests
tseries.Add(new TValue(bar.Time, bar.Close), true);
}
var results2 = Standardize.Calculate(tseries, period);
var results2 = Standardize.Batch(tseries, period);
// Mode 3: Static span Calculate
double[] values = series.Select(b => b.Close).ToArray();
double[] results3 = new double[values.Length];
Standardize.Calculate(values, results3, period);
Standardize.Batch(values, results3, period);
// Mode 4: Event-based chaining
var source = new TSeries();
+10 -3
View File
@@ -175,7 +175,7 @@ public sealed class Standardize : AbstractBase
}
}
public static TSeries Calculate(TSeries source, int period = 20)
public static TSeries Batch(TSeries source, int period = 20)
{
var indicator = new Standardize(period);
return indicator.Update(source);
@@ -184,7 +184,7 @@ public sealed class Standardize : AbstractBase
/// <summary>
/// Calculates Z-score normalization over a span of values.
/// </summary>
public static void Calculate(ReadOnlySpan<double> source, Span<double> output, int period = 20)
public static void Batch(ReadOnlySpan<double> source, Span<double> output, int period = 20)
{
if (source.Length == 0)
{
@@ -264,6 +264,13 @@ public sealed class Standardize : AbstractBase
}
}
public static (TSeries Results, Standardize Indicator) Calculate(TSeries source, int period = 20)
{
var indicator = new Standardize(period);
TSeries results = indicator.Update(source);
return (results, indicator);
}
public override void Reset()
{
_buffer.Clear();
@@ -271,4 +278,4 @@ public sealed class Standardize : AbstractBase
_p_state = _state;
Last = default;
}
}
}