# Package edu.rit.pj.reduction

See: Description

Class Summary Class Description BooleanOp Class BooleanOp is the abstract base class for a binary operation on Boolean values, used to do reduction in a parallel program.ByteOp Class ByteOp is the abstract base class for a binary operation on byte values, used to do reduction in a parallel program.CharacterOp Class CharacterOp is the abstract base class for a binary operation on character values, used to do reduction in a parallel program.DoubleOp Class DoubleOp is the abstract base class for a binary operation on double values, used to do reduction in a parallel program.FloatOp Class FloatOp is the abstract base class for a binary operation on float values, used to do reduction in a parallel program.IntegerOp Class IntegerOp is the abstract base class for a binary operation on integer values, used to do reduction in a parallel program.LongOp Class LongOp is the abstract base class for a binary operation on long values, used to do reduction in a parallel program.ObjectOp<T> Class ObjectOp is the abstract base class for a binary operation on object values, used to do reduction in a parallel program.Op Class Op is the abstract base class for a binary operation used to do reduction in a parallel program.ReduceArrays Class ReduceArrays provides static methods for reduction operations on arrays and matrices of primitive types and object types.SharedBoolean Class SharedBoolean provides a reduction variable for a value of type`boolean`.SharedBooleanArray Class SharedBooleanArray provides an array reduction variable with elements of type`boolean`.SharedByte Class SharedByte provides a reduction variable for a value of type`byte`.SharedByteArray Class SharedByteArray provides an array reduction variable with elements of type`byte`.SharedCharacter Class SharedCharacter provides a reduction variable for a value of type`char`.SharedCharacterArray Class SharedCharacterArray provides an array reduction variable with elements of type`char`.SharedDouble Class SharedDouble provides a reduction variable for a value of type`double`.SharedDoubleArray Class SharedDoubleArray provides an array reduction variable with elements of type`double`.SharedFloat Class SharedFloat provides a reduction variable for a value of type`float`.SharedFloatArray Class SharedFloatArray provides an array reduction variable with elements of type`float`.SharedInteger Class SharedInteger provides a reduction variable for a value of type`int`.SharedIntegerArray Class SharedIntegerArray provides an array reduction variable with elements of type`int`.SharedIntegerMatrix Class SharedIntegerMatrix provides a matrix reduction variable with elements of type`int`.SharedLong Class SharedLong provides a reduction variable for a value of type`long`.SharedLongArray Class SharedLongArray provides an array reduction variable with elements of type`long`.SharedLongMatrix Class SharedLongMatrix provides a matrix reduction variable with elements of type`long`.SharedObject<T> Class SharedObject provides a reduction variable for a value of an object type.SharedObjectArray<T> Class SharedObjectArray provides an array reduction variable with elements of an object type.SharedShort Class SharedShort provides a reduction variable for a value of type`short`.SharedShortArray Class SharedShortArray provides an array reduction variable with elements of type`short`.ShortOp Class ShortOp is the abstract base class for a binary operation on short values, used to do reduction in a parallel program.

## Package edu.rit.pj.reduction Description

Package edu.rit.pj.reduction contains classes for parallel reduction.

Class Op is the abstract base class for a binary operation used to combine two values together during a reduction. The subclasses of class Op provide binary operations on different data types:

Type |
Class |

boolean |
BooleanOp |

byte |
ByteOp |

char |
CharacterOp |

double |
DoubleOp |

float |
FloatOp |

int |
IntegerOp |

long |
LongOp |

short |
ShortOp |

Object |
ObjectOp |

Each of these subclasses provides an `op()` method
that can be overridden to compute the desired binary operation.
Each of these subclasses also provides static instances
for commonly-used binary operations
like sum, product, maximum, and minimum.

The following classes provide shared reduction variables for each of the primitive types as well as type Object. These classes are intended to be used in an SMP parallel program for data items shared among all the threads in the program.

Type |
Class |

boolean |
SharedBoolean |

byte |
SharedByte |

char |
SharedCharacter |

double |
SharedDouble |

float |
SharedFloat |

int |
SharedInteger |

long |
SharedLong |

short |
SharedShort |

Object |
SharedObject |

The following classes provide shared reduction variables for arrays of each of the primitive types as well as array of type Object. These classes are intended to be used in an SMP parallel program for data arrays shared among all the threads in the program.

Type |
Class |

boolean[] |
SharedBooleanArray |

byte[] |
SharedByteArray |

char[] |
SharedCharacterArray |

double[] |
SharedDoubleArray |

float[] |
SharedFloatArray |

int[] |
SharedIntegerArray |

long[] |
SharedLongArray |

short[] |
SharedShortArray |

Object[] |
SharedObjectArray |

**SCaVis 1.8 © jWork.org**