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
+5 -5
View File
@@ -205,7 +205,7 @@ public class NormalizeTests
}
// Static calculation
var staticResult = Normalize.Calculate(tseries, 14);
var staticResult = Normalize.Batch(tseries, 14);
// Streaming calculation
var streamNorm = new Normalize(14);
@@ -230,7 +230,7 @@ public class NormalizeTests
double[] output = new double[values.Length];
// Span calculation
Normalize.Calculate(values, output, 14);
Normalize.Batch(values, output, 14);
// Streaming calculation
var norm = new Normalize(14);
@@ -247,9 +247,9 @@ public class NormalizeTests
double[] source = { 1, 2, 3, 4, 5 };
double[] output = new double[5];
Assert.Throws<ArgumentException>(() => Normalize.Calculate(Array.Empty<double>(), output));
Assert.Throws<ArgumentException>(() => Normalize.Calculate(source, new double[3]));
Assert.Throws<ArgumentException>(() => Normalize.Calculate(source, output, 0));
Assert.Throws<ArgumentException>(() => Normalize.Batch(Array.Empty<double>(), output));
Assert.Throws<ArgumentException>(() => Normalize.Batch(source, new double[3]));
Assert.Throws<ArgumentException>(() => Normalize.Batch(source, output, 0));
}
[Fact]
@@ -203,7 +203,7 @@ public class NormalizeValidationTests
// Batch
double[] batchResults = new double[values.Length];
Normalize.Calculate(values, batchResults, 14);
Normalize.Batch(values, batchResults, 14);
// Compare all values
for (int i = 0; i < values.Length; i++)
@@ -233,12 +233,12 @@ public class NormalizeValidationTests
tseries.Add(new TValue(bar.Time, bar.Close), true);
}
var results2 = Normalize.Calculate(tseries, period);
var results2 = Normalize.Batch(tseries, period);
// Mode 3: Static span Calculate
double[] values = series.Select(b => b.Close).ToArray();
double[] results3 = new double[values.Length];
Normalize.Calculate(values, results3, period);
Normalize.Batch(values, results3, period);
// Mode 4: Event-based chaining
var source = new TSeries();
+10 -3
View File
@@ -154,7 +154,7 @@ public sealed class Normalize : AbstractBase
}
}
public static TSeries Calculate(TSeries source, int period = 14)
public static TSeries Batch(TSeries source, int period = 14)
{
var indicator = new Normalize(period);
return indicator.Update(source);
@@ -163,7 +163,7 @@ public sealed class Normalize : AbstractBase
/// <summary>
/// Calculates Min-Max Normalization over a span of values.
/// </summary>
public static void Calculate(ReadOnlySpan<double> source, Span<double> output, int period = 14)
public static void Batch(ReadOnlySpan<double> source, Span<double> output, int period = 14)
{
if (source.Length == 0)
{
@@ -231,6 +231,13 @@ public sealed class Normalize : AbstractBase
}
}
public static (TSeries Results, Normalize Indicator) Calculate(TSeries source, int period = 14)
{
var indicator = new Normalize(period);
TSeries results = indicator.Update(source);
return (results, indicator);
}
public override void Reset()
{
_buffer.Clear();
@@ -238,4 +245,4 @@ public sealed class Normalize : AbstractBase
_p_state = _state;
Last = default;
}
}
}