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
+4 -4
View File
@@ -91,7 +91,7 @@ public class HemaTests
int period = 12;
TSeries series = BuildSeries(120, seed: 11);
TSeries batch = Hema.Calculate(series, period);
TSeries batch = Hema.Batch(series, period);
var hema = new Hema(period);
var streamValues = new List<double>(series.Count);
@@ -114,8 +114,8 @@ public class HemaTests
double[] values = series.Values.ToArray();
var output = new double[values.Length];
Hema.Calculate(values, output, period);
TSeries batch = Hema.Calculate(series, period);
Hema.Batch(values, output, period);
TSeries batch = Hema.Batch(series, period);
for (int i = 0; i < values.Length; i++)
{
@@ -153,7 +153,7 @@ public class HemaTests
double[] source = [1, 2, 3, 4, 5];
double[] output = new double[3];
var ex = Assert.Throws<ArgumentException>(() => Hema.Calculate(source, output, 10));
var ex = Assert.Throws<ArgumentException>(() => Hema.Batch(source, output, 10));
Assert.Equal("output", ex.ParamName);
}
+2 -2
View File
@@ -29,7 +29,7 @@ public class HemaValidationTests
double[] reference = new double[series.Count];
ReferenceHema(series.Values, reference, period);
TSeries batch = Hema.Calculate(series, period);
TSeries batch = Hema.Batch(series, period);
for (int i = 0; i < series.Count; i++)
{
@@ -47,7 +47,7 @@ public class HemaValidationTests
var reference = new double[values.Length];
ReferenceHema(values, reference, period);
Hema.Calculate(values, output, period);
Hema.Batch(values, output, period);
for (int i = 0; i < values.Length; i++)
{
+10 -3
View File
@@ -276,13 +276,13 @@ public sealed class Hema : AbstractBase
return fastResult;
}
public static TSeries Calculate(TSeries source, int period)
public static TSeries Batch(TSeries source, int period)
{
var hema = new Hema(period);
return hema.Update(source);
}
public static void Calculate(ReadOnlySpan<double> source, Span<double> output, int period)
public static void Batch(ReadOnlySpan<double> source, Span<double> output, int period)
{
if (source.Length != output.Length)
{
@@ -406,6 +406,13 @@ public sealed class Hema : AbstractBase
}
}
public static (TSeries Results, Hema Indicator) Calculate(TSeries source, int period)
{
var indicator = new Hema(period);
TSeries results = indicator.Update(source);
return (results, indicator);
}
public override void Reset()
{
_state = State.New();
@@ -473,4 +480,4 @@ public sealed class Hema : AbstractBase
return (int)Math.Ceiling(steps);
}
}
}