Predefined are PvmMax, PvmMin, PvmSum and PvmProduct.
Users can define their own function.
On return, the data array on the root will be overwritten with the result of the reduce operation over the group. It allows the user's program to distinguish between different kinds of messages. Values less than zero indicate an error. The root task is identified by its instance number in the group. PVM supplies the following predefined functions that can be specified in func .