arrays == Description === Sample to show the capabilities of: * gathering a stream of outputs of type Object to an input of type Object, of a specified size. This is done by the P2 'composer' (`ComposeArray`) function. * Decomposing an output of type array of objects to a stream of objects. This is done by the runtime when it sees a connection from an array of Type to Type. * P1 - sequence - generates a stream of outputs of type number * P2 - composer - input of type Number of width 4, output of type array of number * P3 - adder - input of type Number and output of type Number, adding 1 in the process * P4 - print - print the output (the original sequence with '1' added to each number) This sample (with default settings on a multi-core machine) shows parallelism of the add function, dispatching multiple jobs for it in parallel as the array of number output from the previous process is decomposed, creating a job for each Number. You can see this by using the `-j` option of the runtime to limit the number of outstanding jobs and the `-m` options to dump metrics after execution. The "Max Number of Parallel Jobs" should be similar or greater than 4, which is the size of the array of numbers formed. Root === Click image to navigate flow hierarchy. Features Used === * Root Flow * Setting initial value of a Function's inputs * Multiple connections into and out of functions and values * Library Functions * Implicit conversion between arrays of objects and objects done by run-time * Explicit conversion between a stream of objects and an array using the `compose_array` library function Functions Diagram === This diagram shows the exploded diagram of all functions in all flows, and their connections. Click image to view functions graph.