--- jsr166/src/extra166y/AbstractParallelAnyArray.java 2012/02/21 01:54:03 1.10 +++ jsr166/src/extra166y/AbstractParallelAnyArray.java 2013/06/18 19:18:28 1.16 @@ -82,7 +82,7 @@ public abstract class AbstractParallelAn /** * Returns the index of some element matching bound and filter * constraints, or -1 if none. - * @return index of matching element, or -1 if none. + * @return index of matching element, or -1 if none */ public int anyIndex() { if (!hasFilter()) @@ -95,7 +95,7 @@ public abstract class AbstractParallelAn } /** - * Returns true if there are no elements + * Returns true if there are no elements. * @return true if there are no elements */ public boolean isEmpty() { @@ -132,7 +132,7 @@ public abstract class AbstractParallelAn */ Object[] ogetArray() { return null; } double[] dgetArray() { return null; } - long[] lgetArray() { return null; } + long[] lgetArray() { return null; } abstract Object oget(int index); abstract double dget(int index); abstract long lget(int index); @@ -145,6 +145,7 @@ public abstract class AbstractParallelAn * oget, dget, etc. But most are overridden in most concrete * classes to avoid per-element dispatching. */ + void leafApply(int lo, int hi, Procedure procedure) { for (int i = lo; i < hi; ++i) if (isSelected(i)) @@ -274,7 +275,7 @@ public abstract class AbstractParallelAn /** * Shared support for select/map all -- probe filter, map, and * type to start selection driver, or do parallel mapping, or - * just copy, + * just copy. */ final Object[] allObjects(Class elementType) { if (hasFilter()) { @@ -403,7 +404,7 @@ public abstract class AbstractParallelAn int otherOffset, BinaryLongOp combiner) {} // Base of object ref array classes - static abstract class OPap extends AbstractParallelAnyArray { + abstract static class OPap extends AbstractParallelAnyArray { T[] array; OPap(ForkJoinPool ex, int origin, int fence, T[] array) { super(ex, origin, fence); @@ -433,7 +434,7 @@ public abstract class AbstractParallelAn } // Base of double array classes - static abstract class DPap extends AbstractParallelAnyArray { + abstract static class DPap extends AbstractParallelAnyArray { double[] array; DPap(ForkJoinPool ex, int origin, int fence, double[] array) { super(ex, origin, fence); @@ -463,7 +464,7 @@ public abstract class AbstractParallelAn } // Base of long array classes - static abstract class LPap extends AbstractParallelAnyArray { + abstract static class LPap extends AbstractParallelAnyArray { long[] array; LPap(ForkJoinPool ex, int origin, int fence, long[] array) { super(ex, origin, fence); @@ -513,7 +514,7 @@ public abstract class AbstractParallelAn return new ORPap(ex, origin, fence, array, selector); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OUOMPap(ex, origin, fence, array, op); } @@ -1169,7 +1170,7 @@ public abstract class AbstractParallelAn compoundIndexedSelector(this.selector, selector)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OFOMPap(ex, origin, fence, array, selector, op); } @@ -1710,7 +1711,7 @@ public abstract class AbstractParallelAn compoundIndexedSelector(this.selector, selector)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OROMPap(ex, origin, fence, array, selector, op); } @@ -2228,7 +2229,7 @@ public abstract class AbstractParallelAn // Object-mapped - static abstract class OOMPap extends ParallelArrayWithMapping { + abstract static class OOMPap extends ParallelArrayWithMapping { final Op op; OOMPap(ForkJoinPool ex, int origin, int fence, T[] array, @@ -2258,7 +2259,7 @@ public abstract class AbstractParallelAn } } - static abstract class DOMPap extends ParallelDoubleArrayWithMapping { + abstract static class DOMPap extends ParallelDoubleArrayWithMapping { final DoubleToObject op; DOMPap(ForkJoinPool ex, int origin, int fence, double[] array, DoubleToObject op) { @@ -2287,7 +2288,7 @@ public abstract class AbstractParallelAn } } - static abstract class LOMPap extends ParallelLongArrayWithMapping { + abstract static class LOMPap extends ParallelLongArrayWithMapping { final LongToObject op; LOMPap(ForkJoinPool ex, int origin, int fence, long[] array, LongToObject op) { @@ -2324,7 +2325,7 @@ public abstract class AbstractParallelAn super(ex, origin, fence, array, op); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OUOMPap(ex, origin, fence, array, CommonOps.compoundOp(this.op, op)); @@ -2518,7 +2519,7 @@ public abstract class AbstractParallelAn boolean hasFilter() { return true; } boolean isSelected(int i) { return selector.op(this.array[i]); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OFOMPap (ex, origin, fence, array, selector, @@ -2773,7 +2774,7 @@ public abstract class AbstractParallelAn boolean hasFilter() { return true; } boolean isSelected(int i) { return selector.op(i, this.array[i]); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OROMPap (ex, origin, fence, array, selector, @@ -3013,7 +3014,7 @@ public abstract class AbstractParallelAn // Object-combined - static abstract class OOCPap extends ParallelArrayWithMapping { + abstract static class OOCPap extends ParallelArrayWithMapping { final IntAndObjectToObject op; OOCPap(ForkJoinPool ex, int origin, int fence, T[] array, @@ -3045,7 +3046,7 @@ public abstract class AbstractParallelAn } } - static abstract class DOCPap extends ParallelDoubleArrayWithMapping { + abstract static class DOCPap extends ParallelDoubleArrayWithMapping { final IntAndDoubleToObject op; DOCPap(ForkJoinPool ex, int origin, int fence, double[] array, IntAndDoubleToObject op) { @@ -3076,7 +3077,7 @@ public abstract class AbstractParallelAn } } - static abstract class LOCPap extends ParallelLongArrayWithMapping { + abstract static class LOCPap extends ParallelLongArrayWithMapping { final IntAndLongToObject op; LOCPap(ForkJoinPool ex, int origin, int fence, long[] array, IntAndLongToObject op) { @@ -3115,7 +3116,7 @@ public abstract class AbstractParallelAn super(ex, origin, fence, array, op); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OUOCPap(ex, origin, fence, array, compoundIndexedOp(this.op, op)); @@ -3309,7 +3310,7 @@ public abstract class AbstractParallelAn boolean hasFilter() { return true; } boolean isSelected(int i) { return selector.op(this.array[i]); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OFOCPap(ex, origin, fence, array, selector, compoundIndexedOp(this.op, op)); @@ -3552,7 +3553,7 @@ public abstract class AbstractParallelAn boolean hasFilter() { return true; } boolean isSelected(int i) { return selector.op(i, this.array[i]); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (Op op) { return new OROCPap(ex, origin, fence, array, selector, compoundIndexedOp(this.op, op)); @@ -3784,7 +3785,7 @@ public abstract class AbstractParallelAn // Double-mapped - static abstract class ODMPap extends ParallelArrayWithDoubleMapping { + abstract static class ODMPap extends ParallelArrayWithDoubleMapping { final ObjectToDouble op; ODMPap(ForkJoinPool ex, int origin, int fence, T[] array, ObjectToDouble op) { @@ -3814,7 +3815,7 @@ public abstract class AbstractParallelAn } - static abstract class DDMPap extends ParallelDoubleArrayWithDoubleMapping { + abstract static class DDMPap extends ParallelDoubleArrayWithDoubleMapping { final DoubleOp op; DDMPap (ForkJoinPool ex, int origin, int fence, @@ -3844,7 +3845,7 @@ public abstract class AbstractParallelAn } } - static abstract class LDMPap extends ParallelLongArrayWithDoubleMapping { + abstract static class LDMPap extends ParallelLongArrayWithDoubleMapping { final LongToDouble op; LDMPap(ForkJoinPool ex, int origin, int fence, long[] array, LongToDouble op) { @@ -3892,7 +3893,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OUOMPap(ex, origin, fence, array, CommonOps.compoundOp(this.op, op)); @@ -4080,7 +4081,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OFOMPap(ex, origin, fence, array, selector, CommonOps.compoundOp(this.op, op)); @@ -4316,7 +4317,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OROMPap(ex, origin, fence, array, selector, CommonOps.compoundOp(this.op, op)); @@ -4530,7 +4531,7 @@ public abstract class AbstractParallelAn } // double-combined - static abstract class ODCPap extends ParallelArrayWithDoubleMapping { + abstract static class ODCPap extends ParallelArrayWithDoubleMapping { final IntAndObjectToDouble op; ODCPap(ForkJoinPool ex, int origin, int fence, T[] array, IntAndObjectToDouble op) { @@ -4562,7 +4563,7 @@ public abstract class AbstractParallelAn } - static abstract class DDCPap extends ParallelDoubleArrayWithDoubleMapping { + abstract static class DDCPap extends ParallelDoubleArrayWithDoubleMapping { final IntAndDoubleToDouble op; DDCPap(ForkJoinPool ex, int origin, int fence, double[] array, IntAndDoubleToDouble op) { @@ -4593,7 +4594,7 @@ public abstract class AbstractParallelAn } } - static abstract class LDCPap extends ParallelLongArrayWithDoubleMapping { + abstract static class LDCPap extends ParallelLongArrayWithDoubleMapping { final IntAndLongToDouble op; LDCPap(ForkJoinPool ex, int origin, int fence, long[] array, IntAndLongToDouble op) { @@ -4641,7 +4642,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OUOCPap(ex, origin, fence, array, compoundIndexedOp(this.op, op)); @@ -4828,7 +4829,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OFOCPap(ex, origin, fence, array, selector, compoundIndexedOp(this.op, op)); @@ -5066,7 +5067,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (DoubleToObject op) { return new OROCPap(ex, origin, fence, array, selector, compoundIndexedOp(this.op, op)); @@ -5281,7 +5282,7 @@ public abstract class AbstractParallelAn } // long-combined - static abstract class OLMPap extends ParallelArrayWithLongMapping { + abstract static class OLMPap extends ParallelArrayWithLongMapping { final ObjectToLong op; OLMPap(ForkJoinPool ex, int origin, int fence, T[] array, final ObjectToLong op) { @@ -5310,7 +5311,7 @@ public abstract class AbstractParallelAn } } - static abstract class DLMPap extends ParallelDoubleArrayWithLongMapping { + abstract static class DLMPap extends ParallelDoubleArrayWithLongMapping { final DoubleToLong op; DLMPap(ForkJoinPool ex, int origin, int fence, double[] array, DoubleToLong op) { @@ -5340,7 +5341,7 @@ public abstract class AbstractParallelAn } - static abstract class LLMPap extends ParallelLongArrayWithLongMapping { + abstract static class LLMPap extends ParallelLongArrayWithLongMapping { final LongOp op; LLMPap(ForkJoinPool ex, int origin, int fence, long[] array, LongOp op) { @@ -5387,7 +5388,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OUOMPap(ex, origin, fence, array, CommonOps.compoundOp(this.op, op)); @@ -5576,7 +5577,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OFOMPap(ex, origin, fence, array, selector, CommonOps.compoundOp(this.op, op)); @@ -5816,7 +5817,7 @@ public abstract class AbstractParallelAn CommonOps.compoundOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OROMPap(ex, origin, fence, array, selector, CommonOps.compoundOp(this.op, op)); @@ -6032,7 +6033,7 @@ public abstract class AbstractParallelAn } // long-combined - static abstract class OLCPap extends ParallelArrayWithLongMapping { + abstract static class OLCPap extends ParallelArrayWithLongMapping { final IntAndObjectToLong op; OLCPap(ForkJoinPool ex, int origin, int fence, T[] array, IntAndObjectToLong op) { @@ -6063,7 +6064,7 @@ public abstract class AbstractParallelAn } } - static abstract class DLCPap extends ParallelDoubleArrayWithLongMapping { + abstract static class DLCPap extends ParallelDoubleArrayWithLongMapping { final IntAndDoubleToLong op; DLCPap(ForkJoinPool ex, int origin, int fence, double[] array, IntAndDoubleToLong op) { @@ -6094,7 +6095,7 @@ public abstract class AbstractParallelAn } } - static abstract class LLCPap extends ParallelLongArrayWithLongMapping { + abstract static class LLCPap extends ParallelLongArrayWithLongMapping { final IntAndLongToLong op; LLCPap(ForkJoinPool ex, int origin, int fence, long[] array, IntAndLongToLong op) { @@ -6142,7 +6143,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OUOCPap(ex, origin, fence, array, compoundIndexedOp(this.op, op)); @@ -6327,7 +6328,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OFOCPap(ex, origin, fence, array, selector, @@ -6569,7 +6570,7 @@ public abstract class AbstractParallelAn compoundIndexedOp(this.op, op)); } - public ParallelArrayWithMapping withMapping + public ParallelArrayWithMapping withMapping (LongToObject op) { return new OROCPap(ex, origin, fence, array, selector,