diff options
Diffstat (limited to 'src/prelude/array.ts')
| -rw-r--r-- | src/prelude/array.ts | 6 |
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; +} |