--- jsr166/src/extra166y/AbstractParallelAnyArray.java 2009/07/22 17:50:01 1.2 +++ jsr166/src/extra166y/AbstractParallelAnyArray.java 2011/05/07 19:06:27 1.8 @@ -1,7 +1,7 @@ /* * Written by Doug Lea with assistance from members of JCP JSR-166 * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/licenses/publicdomain + * http://creativecommons.org/publicdomain/zero/1.0/ */ package extra166y; @@ -86,7 +86,7 @@ public abstract class AbstractParallelAn */ public int anyIndex() { if (!hasFilter()) - return (origin < fence)? origin : -1; + return (origin < fence) ? origin : -1; AtomicInteger result = new AtomicInteger(-1); PAS.FJSelectAny f = new PAS.FJSelectAny (this, origin, fence, null, result); @@ -1133,6 +1133,16 @@ public abstract class AbstractParallelAn } } + static final class AndPredicate implements Predicate { + final Predicate first; + final Predicate second; + AndPredicate(Predicate first, + Predicate second) { + this.first = first; this.second = second; + } + public final boolean op(T x) { return first.op(x) && second.op(x); } + } + // Filtered (but unmapped) classes static final class OFPap extends ParallelArrayWithFilter { final Predicate selector; @@ -1149,7 +1159,7 @@ public abstract class AbstractParallelAn public ParallelArrayWithFilter withFilter (Predicate selector) { return new OFPap(ex, origin, fence, array, - CommonOps.andPredicate(this.selector, selector)); + new AndPredicate(this.selector, selector)); } public ParallelArrayWithFilter withIndexedFilter @@ -2383,7 +2393,7 @@ public abstract class AbstractParallelAn } public ParallelDoubleArrayWithDoubleMapping withMapping - (ObjectToDouble op){ + (ObjectToDouble op) { return new DUDMPap(ex, origin, fence, array, CommonOps.compoundOp(this.op, op)); } @@ -4893,8 +4903,8 @@ public abstract class AbstractParallelAn } public ParallelDoubleArrayWithLongMapping withMapping(DoubleToLong op) { - return new DFLCPap (ex, origin, fence, array, selector, - compoundIndexedOp(this.op, op)); + return new DFLCPap(ex, origin, fence, array, selector, + compoundIndexedOp(this.op, op)); } public ParallelDoubleArrayWithMapping< U> withMapping @@ -5131,8 +5141,8 @@ public abstract class AbstractParallelAn } public ParallelDoubleArrayWithLongMapping withMapping(DoubleToLong op) { - return new DRLCPap (ex, origin, fence, array, selector, - compoundIndexedOp(this.op, op)); + return new DRLCPap(ex, origin, fence, array, selector, + compoundIndexedOp(this.op, op)); } public ParallelDoubleArrayWithMapping< U> withMapping