summaryrefslogtreecommitdiff
path: root/src/prelude
diff options
context:
space:
mode:
Diffstat (limited to 'src/prelude')
-rw-r--r--src/prelude/array.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/prelude/array.ts b/src/prelude/array.ts
index d02de9b2e5..560dfa080d 100644
--- a/src/prelude/array.ts
+++ b/src/prelude/array.ts
@@ -109,3 +109,9 @@ export function takeWhile<T>(f: Predicate<T>, xs: T[]): T[] {
}
return ys;
}
+
+export function cumulativeSum(xs: number[]): number[] {
+ const ys = Array.from(xs); // deep copy
+ for (let i = 1; i < ys.length; i++) ys[i] += ys[i - 1];
+ return ys;
+}