Difference between revisions of "Fork Loop Assignment"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
==FJ<E>== | ==FJ<E>== | ||
class [https://www.cse.wustl.edu/~dennis.cosgrove/courses/cse231/fall22/apidocs/fj/FJ.html FJ<E>] | class [https://www.cse.wustl.edu/~dennis.cosgrove/courses/cse231/fall22/apidocs/fj/FJ.html FJ<E>] | ||
+ | : [https://www.cse.wustl.edu/~dennis.cosgrove/courses/cse231/fall22/apidocs/fj/FJ.html#join_fork_loop(java.lang.Iterable,fj.api.TaskFunction) join_fork_loop(iterable, task)] | ||
: [https://www.cse.wustl.edu/~dennis.cosgrove/courses/cse231/fall22/apidocs/fj/FJ.html#join_fork_loop(java.lang.Class,T%5B%5D,fj.api.TaskFunction) join_fork_loop(returnValueComponentType, array, task)] | : [https://www.cse.wustl.edu/~dennis.cosgrove/courses/cse231/fall22/apidocs/fj/FJ.html#join_fork_loop(java.lang.Class,T%5B%5D,fj.api.TaskFunction) join_fork_loop(returnValueComponentType, array, task)] | ||
− | + | =Code To Implement= | |
− | |||
==Echoes== | ==Echoes== | ||
{{CodeToImplement|Echoes|toEchoes|forkloop.group}} | {{CodeToImplement|Echoes|toEchoes|forkloop.group}} | ||
Line 26: | Line 26: | ||
{{CodeToInvestigate|EchoClient|main|forkloop.client|main}} | {{CodeToInvestigate|EchoClient|main|forkloop.client|main}} | ||
− | |||
==SquareRoots== | ==SquareRoots== | ||
{{CodeToImplement|SquareRoots|toSquareRoots|forkloop.group}} | {{CodeToImplement|SquareRoots|toSquareRoots|forkloop.group}} |
Revision as of 02:51, 29 January 2023
Contents
Motivation
There are many incantations of the fork_loop. We gain experience with selecting the right one for two scenarios.
Background
Code To Use
FJ<E>
class FJ<E>
Code To Implement
Echoes
class: | Echoes.java | ![]() |
methods: | toEchoes | |
package: | forkloop.group | |
source folder: | student/src/main/java |
toEchoes
method: public static List<String> toEchoes(List<String> texts)
(parallel implementation required)
for each text in parallel, produce text + " " + text
.
toEchoes
accepts a List<String> parameter and returns a List<String>.
List<E> is an Iterable<E>, so instances of List<E> can be passed to join_fork_loop(iterable, task).
client
class: | EchoClient.java | DEMO: ![]() |
methods: | main | |
package: | forkloop.client | |
source folder: | src/main/java |
SquareRoots
class: | SquareRoots.java | ![]() |
methods: | toSquareRoots | |
package: | forkloop.group | |
source folder: | student/src/main/java |
toSquareRoots
method: public static Double[] toSquareRoots(Double[] values)
(parallel implementation required)
client
class: | SquareRootClient.java | DEMO: ![]() |
methods: | main | |
package: | forkloop.client | |
source folder: | src/main/java |
Testing
class: | _ForkLoopTestSuite.java | ![]() |
package: | forkloop.group | |
source folder: | testing/src/test/java |