Class ObjectOp<T>

java.lang.Object
edu.rit.pj.reduction.Op
edu.rit.pj.reduction.ObjectOp<T>
Type Parameters:
T - Object data type.

public abstract class ObjectOp<T> extends Op
Class ObjectOp is the abstract base class for a binary operation on object values, used to do reduction in a parallel program.

When classes in the Parallel Java Library call the op(x,y) method during a reduction operation, the x argument is the value of the reduction variable, and the y argument is the value to be combined with the reduction variable. The value returned by the op(x,y) method is stored back into the reduction variable.

The op(x,y) method in any subclass of class ObjectOp must obey the following requirements, which are assumed by classes in the Parallel Java Library:

  • If as a result of the binary operation the state of the reduction variable will not change, the op(x,y) method must return x.
  • If as a result of the binary operation the state of the reduction variable will change, the op(x,y) method must return a newly created object containing the desired state.
  • The op(x,y) method must neither change the state of x nor change the state of y; that is, the op(x,y) method must have no side effects.
Version:
30-Mar-2008
Author:
Alan Kaminsky
  • Constructor Details

    • ObjectOp

      protected ObjectOp()
      Construct a new object binary operation.
  • Method Details

    • op

      public abstract T op(T x, T y)
      Perform this binary operation.
      Parameters:
      x - First argument.
      y - Second argument.
      Returns:
      (x op y), where op stands for this binary operation.