Difference between revisions of "Sum Scan Assignment"
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
fun sum_scan(xs : int list) : int list | fun sum_scan(xs : int list) : int list | ||
− | which produces a list whose values are | + | which produces a list whose values are the [https://en.wikipedia.org/wiki/Running_total running totals] of the values in <code>xs</code>. |
===Example [1,2,3,4,5,6,7,8]=== | ===Example [1,2,3,4,5,6,7,8]=== |
Revision as of 04:54, 21 January 2022
Contents
Background
Code to Implement
file: | src/main/sml/warmup_sum_scan/sum_scan.sml | ![]() |
functions: | sum_scan |
sum_scan
Write a function
fun sum_scan(xs : int list) : int list
which produces a list whose values are the running totals of the values in xs
.
Example [1,2,3,4,5,6,7,8]
For example:
sum_scan([1,2,3,4,5,6,7,8])
would produce:
[1,3,6,10,15,21,28,36]
xs 1 2 3 4 5 6 7 8 sum_scan(xs) 1 3 6 10 15 21 28 36
Example [131,231,425]
For example:
sum_scan([131,231,425])
would produce:
[131, 362, 787]
xs 131 231 425 sum_scan(xs) 131 362 787
Test
file: | unit_test_sum_scan.sml | |
source folder: | src/test/sml/warmup_sum_scan |