diff --git a/Libraries/Core/Utils/MathUtil.cs b/Libraries/Core/Utils/MathUtil.cs
index 57092219..958312e6 100644
--- a/Libraries/Core/Utils/MathUtil.cs
+++ b/Libraries/Core/Utils/MathUtil.cs
@@ -24,16 +24,20 @@ public class MathUtil
/// cumulative sum of values
public List ListCumSum(List values)
{
- var cumSumList = new List(values.Count);
- var sum = 0D;
-
- foreach (var value in values)
+ if (values.Count == 0)
{
- sum += value;
- cumSumList.Add(sum);
+ return [];
}
- return cumSumList;
+ var cumSumArray = new double[values.Count];
+ cumSumArray[0] = values[0];
+
+ for (var i = 1; i < values.Count; i++)
+ {
+ cumSumArray[i] = cumSumArray[i - 1] + values[i];
+ }
+
+ return [..cumSumArray];
}
///