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]; } ///