Difference between revisions of "Scan Higher Order Function Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 19: Line 19:
 
| 131 || 231 || 425
 
| 131 || 231 || 425
 
|-
 
|-
! style="text-align:right;" | sum_scan(xs)
+
! style="text-align:right;" | scan op+ xs
 
| 131 || 362 || 787
 
| 131 || 362 || 787
 
|}
 
|}

Revision as of 09:02, 16 February 2022

Background

Previously, we have built Sum_Scan_Assignment sum_scan. This is a specific version of scan where the operation is +. We will build a higher-order function scan which takes an operation to apply, as well as a list.

Code To Implement

scan

Clients

scan op+

For example:

scan op+ [131,231,425]

would produce:

[131, 362, 787]
xs 131 231 425
scan op+ xs 131 362 787

scan op*

For example:

scan op* [131,231,425]

would produce:

[131, 30261, 12860925]
xs 131 231 425
sum_scan(xs) 131 30261 12860925

Testing