groovyx.gpars.extra166y
Class Ops

java.lang.Object
  extended by groovyx.gpars.extra166y.Ops

public class Ops
extends java.lang.Object

Interfaces and utilities declaring per-element operations used within parallel methods on aggregates. This class provides type names for all operation signatures accepting zero, one or two arguments, and returning zero or one results, for parameterized types, as well as specializations to int, long, and double. In keeping with normal Java evaluation rules that promote, for example short to int, operation names for these smaller types are absent.

Preliminary release note: Some of the declarations in this class are likely to be moved elsewhere in the JDK libraries upon actual release, and most likely will not all nested in the same class.

The naming conventions are as follows:

result = op(a) or result = op(a,b)
arg types result type
a b int long double Object
int <none> Ops.IntOp Ops.IntToLong Ops.IntToDouble Ops.IntToObject
int Ops.BinaryIntOp Ops.IntAndIntToLong Ops.IntAndIntToDouble Ops.IntAndIntToObject
long Ops.IntAndLongToInt Ops.IntAndLongToLong Ops.IntAndLongToDouble Ops.IntAndLongToObject
double Ops.IntAndDoubleToInt Ops.IntAndDoubleToLong Ops.IntAndDoubleToDouble Ops.IntAndDoubleToObject
Object Ops.IntAndObjectToInt Ops.IntAndObjectToLong Ops.IntAndObjectToDouble Ops.IntAndObjectToObject
long <none> Ops.LongToInt Ops.LongOp Ops.LongToDouble Ops.LongToObject
int Ops.LongAndIntToInt Ops.LongAndIntToLong Ops.LongAndIntToDouble Ops.LongAndIntToObject
long Ops.LongAndLongToInt Ops.BinaryLongOp Ops.LongAndLongToDouble Ops.LongAndLongToObject
double Ops.LongAndDoubleToInt Ops.LongAndDoubleToLong Ops.LongAndDoubleToDouble Ops.LongAndDoubleToObject
Object Ops.LongAndObjectToInt Ops.LongAndObjectToLong Ops.LongAndObjectToDouble Ops.LongAndObjectToObject
double <none> Ops.DoubleToInt Ops.DoubleToLong Ops.DoubleOp Ops.DoubleToObject
int Ops.DoubleAndIntToInt Ops.DoubleAndIntToLong Ops.DoubleAndIntToDouble Ops.DoubleAndIntToObject
long Ops.DoubleAndLongToInt Ops.DoubleAndLongToLong Ops.DoubleAndLongToDouble Ops.DoubleAndLongToObject
double Ops.DoubleAndDoubleToInt Ops.DoubleAndDoubleToLong Ops.BinaryDoubleOp Ops.DoubleAndDoubleToObject
Object Ops.DoubleAndObjectToInt Ops.DoubleAndObjectToLong Ops.DoubleAndObjectToDouble Ops.DoubleAndObjectToObject
Object <none> Ops.ObjectToInt Ops.ObjectToLong Ops.ObjectToDouble Ops.Op
int Ops.ObjectAndIntToInt Ops.ObjectAndIntToLong Ops.ObjectAndIntToDouble Ops.ObjectAndIntToObject
long Ops.ObjectAndLongToInt Ops.ObjectAndLongToLong Ops.ObjectAndLongToDouble Ops.ObjectAndLongToObject
double Ops.ObjectAndDoubleToInt Ops.ObjectAndDoubleToLong Ops.ObjectAndDoubleToDouble Ops.ObjectAndDoubleToObject
Object Ops.ObjectAndObjectToInt Ops.ObjectAndObjectToLong Ops.ObjectAndObjectToDouble Ops.BinaryOp

In addition to stated signatures, implementations of these interfaces must work safely in parallel. In general, this means methods should operate only on their arguments, and should not rely on ThreadLocals, unsafely published globals, or other unsafe constructions. Additionally, they should not block waiting for synchronization.

This class is normally best used via import static.


Nested Class Summary
static interface Ops.Action
           
static interface Ops.BinaryDoubleOp
           
static interface Ops.BinaryDoublePredicate
           
static interface Ops.BinaryIntOp
           
static interface Ops.BinaryIntPredicate
           
static interface Ops.BinaryLongOp
           
static interface Ops.BinaryLongPredicate
           
static interface Ops.BinaryOp<A,B,R>
           
static interface Ops.BinaryPredicate<A,B>
           
static interface Ops.DoubleAndDoubleProcedure
           
static interface Ops.DoubleAndDoubleToInt
           
static interface Ops.DoubleAndDoubleToLong
           
static interface Ops.DoubleAndDoubleToObject<R>
           
static interface Ops.DoubleAndIntPredicate
           
static interface Ops.DoubleAndIntProcedure
           
static interface Ops.DoubleAndIntToDouble
           
static interface Ops.DoubleAndIntToInt
           
static interface Ops.DoubleAndIntToLong
           
static interface Ops.DoubleAndIntToObject<R>
           
static interface Ops.DoubleAndLongPredicate
           
static interface Ops.DoubleAndLongProcedure
           
static interface Ops.DoubleAndLongToDouble
           
static interface Ops.DoubleAndLongToInt
           
static interface Ops.DoubleAndLongToLong
           
static interface Ops.DoubleAndLongToObject<R>
           
static interface Ops.DoubleAndObjectPredicate<A>
           
static interface Ops.DoubleAndObjectProcedure<A>
           
static interface Ops.DoubleAndObjectToDouble<A>
           
static interface Ops.DoubleAndObjectToInt<A>
           
static interface Ops.DoubleAndObjectToLong<A>
           
static interface Ops.DoubleAndObjectToObject<A,R>
           
static interface Ops.DoubleComparator
           
static interface Ops.DoubleGenerator
           
static interface Ops.DoubleOp
           
static interface Ops.DoublePredicate
           
static interface Ops.DoubleProcedure
           
static interface Ops.DoubleReducer
           
static interface Ops.DoubleToInt
           
static interface Ops.DoubleToLong
           
static interface Ops.DoubleToObject<R>
           
static interface Ops.Generator<R>
           
static interface Ops.IntAndDoublePredicate
           
static interface Ops.IntAndDoubleProcedure
           
static interface Ops.IntAndDoubleToDouble
           
static interface Ops.IntAndDoubleToInt
           
static interface Ops.IntAndDoubleToLong
           
static interface Ops.IntAndDoubleToObject<R>
           
static interface Ops.IntAndIntProcedure
           
static interface Ops.IntAndIntToDouble
           
static interface Ops.IntAndIntToLong
           
static interface Ops.IntAndIntToObject<R>
           
static interface Ops.IntAndLongPredicate
           
static interface Ops.IntAndLongProcedure
           
static interface Ops.IntAndLongToDouble
           
static interface Ops.IntAndLongToInt
           
static interface Ops.IntAndLongToLong
           
static interface Ops.IntAndLongToObject<R>
           
static interface Ops.IntAndObjectPredicate<A>
           
static interface Ops.IntAndObjectProcedure<A>
           
static interface Ops.IntAndObjectToDouble<A>
           
static interface Ops.IntAndObjectToInt<A>
           
static interface Ops.IntAndObjectToLong<A>
           
static interface Ops.IntAndObjectToObject<A,R>
           
static interface Ops.IntComparator
           
static interface Ops.IntGenerator
           
static interface Ops.IntOp
           
static interface Ops.IntPredicate
           
static interface Ops.IntProcedure
           
static interface Ops.IntReducer
           
static interface Ops.IntToDouble
           
static interface Ops.IntToLong
           
static interface Ops.IntToObject<R>
           
static interface Ops.LongAndDoublePredicate
           
static interface Ops.LongAndDoubleProcedure
           
static interface Ops.LongAndDoubleToDouble
           
static interface Ops.LongAndDoubleToInt
           
static interface Ops.LongAndDoubleToLong
           
static interface Ops.LongAndDoubleToObject<R>
           
static interface Ops.LongAndIntPredicate
           
static interface Ops.LongAndIntProcedure
           
static interface Ops.LongAndIntToDouble
           
static interface Ops.LongAndIntToInt
           
static interface Ops.LongAndIntToLong
           
static interface Ops.LongAndIntToObject<R>
           
static interface Ops.LongAndLongProcedure
           
static interface Ops.LongAndLongToDouble
           
static interface Ops.LongAndLongToInt
           
static interface Ops.LongAndLongToObject<R>
           
static interface Ops.LongAndObjectPredicate<A>
           
static interface Ops.LongAndObjectProcedure<A>
           
static interface Ops.LongAndObjectToDouble<A>
           
static interface Ops.LongAndObjectToInt<A>
           
static interface Ops.LongAndObjectToLong<A>
           
static interface Ops.LongAndObjectToObject<A,R>
           
static interface Ops.LongComparator
           
static interface Ops.LongGenerator
           
static interface Ops.LongOp
           
static interface Ops.LongPredicate
           
static interface Ops.LongProcedure
           
static interface Ops.LongReducer
           
static interface Ops.LongToDouble
           
static interface Ops.LongToInt
           
static interface Ops.LongToObject<R>
           
static interface Ops.ObjectAndDoublePredicate<A>
           
static interface Ops.ObjectAndDoubleProcedure<A>
           
static interface Ops.ObjectAndDoubleToDouble<A>
           
static interface Ops.ObjectAndDoubleToInt<A>
           
static interface Ops.ObjectAndDoubleToLong<A>
           
static interface Ops.ObjectAndDoubleToObject<A,R>
           
static interface Ops.ObjectAndIntPredicate<A>
           
static interface Ops.ObjectAndIntProcedure<A>
           
static interface Ops.ObjectAndIntToDouble<A>
           
static interface Ops.ObjectAndIntToInt<A>
           
static interface Ops.ObjectAndIntToLong<A>
           
static interface Ops.ObjectAndIntToObject<A,R>
           
static interface Ops.ObjectAndLongPredicate<A>
           
static interface Ops.ObjectAndLongProcedure<A>
           
static interface Ops.ObjectAndLongToDouble<A>
           
static interface Ops.ObjectAndLongToInt<A>
           
static interface Ops.ObjectAndLongToLong<A>
           
static interface Ops.ObjectAndLongToObject<A,R>
           
static interface Ops.ObjectAndObjectProcedure<A,B>
           
static interface Ops.ObjectAndObjectToDouble<A,B>
           
static interface Ops.ObjectAndObjectToInt<A,B>
           
static interface Ops.ObjectAndObjectToLong<A,B>
           
static interface Ops.ObjectToDouble<A>
           
static interface Ops.ObjectToInt<A>
           
static interface Ops.ObjectToLong<A>
           
static interface Ops.Op<A,R>
           
static interface Ops.Predicate<A>
           
static interface Ops.Procedure<A>
           
static interface Ops.Reducer<A>
           
 
Constructor Summary
private Ops()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ops

private Ops()

Copyright © 2008–2012 Václav Pech. All Rights Reserved.