Aggregate
Functions
The exchange function manages the computation of values between neighbors in a specific context. It computes a body function starting from the initial value and the messages received from other neighbors, then sends the results from the evaluation to specific neighbors or to everyone, it is contingent upon the origin of the calculated value, whether it was received from a neighbor or if it constituted the initial value.
Projects the field into the current context. This method is meant to be used internally by the Collektive compiler plugin and, unless there is some major bug that needs to be worked around with a kludge, it should never be called, as it incurs in a performance penalty both in computation and message size. A field may be misaligned if captured by a sub-scope which contains an alignment operation. This function takes such field and restricts it to be aligned with the current neighbors.