Skip to content

Commit

Permalink
results
Browse files Browse the repository at this point in the history
  • Loading branch information
ignatandrei committed Oct 11, 2024
1 parent a8eb981 commit fb089ea
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
14 changes: 6 additions & 8 deletions src/NetPackageAnalyzer/NetPackageAnalyzerTests/TestStatistics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,20 @@ public void TestMode()
var values = new int[] { 5, 5,100,100,100, 300, 400, 500 };
var mode = StatisticalNumbers<int>.Mode(values);
var res= new int[] { 100 };
Assert.AreEqual(3, mode.Item2);
Assert.AreEqual(res.Length, mode.Item1.Length);
Assert.AreEqual(3, mode.Count);
Assert.AreEqual(res.Length, mode.Values.Length);
for (int i = 0; i < res.Length; i++)
{
Assert.AreEqual(res[i], mode.Item1[i]);
Assert.AreEqual(res[i], mode.Values[i]);
}
values = new int[] { 5, 5, 5, 100, 100, 100, 300, 400, 500 };
mode = StatisticalNumbers<int>.Mode(values);
res = new int[] { 5,100 };
Assert.AreEqual(3, mode.Item2);
Assert.AreEqual(res.Length, mode.Item1.Length);
Assert.AreEqual(3, mode.Count);
Assert.AreEqual(res.Length, mode.Values.Length);
for (int i = 0; i < res.Length; i++)
{
Assert.AreEqual(res[i], mode.Item1[i]);
Assert.AreEqual(res[i], mode.Values[i]);
}
}


}
6 changes: 6 additions & 0 deletions src/NetPackageAnalyzer/Statistical/ModeResult.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
namespace Statistical;
public record ModeResult<T>(T[] Values, int Count)
{
public static ModeResult<T> Empty { get; } = new ModeResult<T>(Array.Empty<T>(), 0);

}
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ public static T ArithmeticMean(T[]? values)

}

public static Tuple<T[], int> Mode(T[]? values)
public static ModeResult<T> Mode(T[]? values)
{
var size = values?.Length ?? 0;
if (size == 0)
{
return Tuple.Create(new T[] { T.Zero },0);
return ModeResult<T>.Empty;
}
ArgumentNullException.ThrowIfNull(values);

Expand All @@ -73,8 +73,9 @@ public static Tuple<T[], int> Mode(T[]? values)
.Select(it => it.Key.Key)
.ToArray();

return Tuple.Create(vals ?? [] , max);
return new ModeResult<T>(vals ?? [] , max);

}

}

0 comments on commit fb089ea

Please sign in to comment.