本文整理汇总了Java中java.util.function.IntBinaryOperator类的典型用法代码示例。如果您正苦于以下问题:Java IntBinaryOperator类的具体用法?Java IntBinaryOperator怎么用?Java IntBinaryOperator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IntBinaryOperator类属于java.util.function包,在下文中一共展示了IntBinaryOperator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testIntMethods
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public void testIntMethods() {
BinaryOperator<Integer> sum1 = Integer::sum;
IntBinaryOperator sum2 = Integer::sum;
BinaryOperator<Integer> max1 = Integer::max;
IntBinaryOperator max2 = Integer::max;
BinaryOperator<Integer> min1 = Integer::min;
IntBinaryOperator min2 = Integer::min;
Comparator<Integer> cmp = Integer::compare;
int[] numbers = { -1, 0, 1, 100, Integer.MAX_VALUE, Integer.MIN_VALUE };
for (int i : numbers) {
for (int j : numbers) {
assertEquals(i+j, (int) sum1.apply(i, j));
assertEquals(i+j, sum2.applyAsInt(i, j));
assertEquals(Math.max(i,j), (int) max1.apply(i, j));
assertEquals(Math.max(i,j), max2.applyAsInt(i, j));
assertEquals(Math.min(i,j), (int) min1.apply(i, j));
assertEquals(Math.min(i,j), min2.applyAsInt(i, j));
assertEquals(((Integer) i).compareTo(j), cmp.compare(i, j));
}
}
}
示例2: compute
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public final void compute() {
final ToIntBiFunction<? super K, ? super V> transformer;
final IntBinaryOperator reducer;
if ((transformer = this.transformer) != null &&
(reducer = this.reducer) != null) {
int r = this.basis;
for (int i = baseIndex, f, h; batch > 0 &&
(h = ((f = baseLimit) + i) >>> 1) > i;) {
addToPendingCount(1);
(rights = new MapReduceMappingsToIntTask<K,V>
(this, batch >>>= 1, baseLimit = h, f, tab,
rights, transformer, r, reducer)).fork();
}
for (Node<K,V> p; (p = advance()) != null; )
r = reducer.applyAsInt(r, transformer.applyAsInt(p.key, p.val));
result = r;
CountedCompleter<?> c;
for (c = firstComplete(); c != null; c = c.nextComplete()) {
@SuppressWarnings("unchecked")
MapReduceMappingsToIntTask<K,V>
t = (MapReduceMappingsToIntTask<K,V>)c,
s = t.rights;
while (s != null) {
t.result = reducer.applyAsInt(t.result, s.result);
s = t.rights = s.nextRight;
}
}
}
}
示例3: map
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
@NonNull
@Override
public MuVector4i map(@NonNull final Vector4i that, @NonNull final IntBinaryOperator operator) {
this.x = operator.applyAsInt(this.x, that.x());
this.y = operator.applyAsInt(this.y, that.y());
this.z = operator.applyAsInt(this.z, that.z());
this.w = operator.applyAsInt(this.w, that.w());
return this;
}
示例4: map
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
@NonNull
@Override
public MuVector3i map(@NonNull final Vector3i that, @NonNull final IntBinaryOperator operator) {
this.x = operator.applyAsInt(this.x, that.x());
this.y = operator.applyAsInt(this.y, that.y());
this.z = operator.applyAsInt(this.z, that.z());
return this;
}
示例5: map
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
@NonNull
@Override
public MuVector2i map(@NonNull final Vector2i that, @NonNull final IntBinaryOperator operator) {
this.x = operator.applyAsInt(this.x, that.x());
this.y = operator.applyAsInt(this.y, that.y());
return this;
}
示例6: traverseGrid
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public int traverseGrid(IntBinaryOperator func) {
AtomicInteger at = new AtomicInteger();
traversalX.forEach(t_x -> {
traversalY.forEach(t_y -> {
at.addAndGet(func.applyAsInt(t_x, t_y));
});
});
return at.get();
}
示例7: createEqOp
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
private static BiFunction<Integer, Integer, Pair<Integer, Integer[]>> createEqOp(IntBinaryOperator simpleOp)
{
return (x, y) ->
{
int res = simpleOp.applyAsInt(x, y);
return Pair.of(x, new Integer[]{y, res});
};
}
示例8: getAndAccumulate
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public final int getAndAccumulate(int i, int x, IntBinaryOperator accumulatorFunction) {
long offset = checkedByteOffset(i);
int prev, next;
do {
prev = getRaw(offset);
next = accumulatorFunction.applyAsInt(prev, x);
} while (!compareAndSetRaw(offset, prev, next));
return prev;
}
示例9: accumulateAndGet
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public final int accumulateAndGet(int i, int x, IntBinaryOperator accumulatorFunction) {
long offset = checkedByteOffset(i);
int prev, next;
do {
prev = getRaw(offset);
next = accumulatorFunction.applyAsInt(prev, x);
} while (!compareAndSetRaw(offset, prev, next));
return next;
}
示例10: getAndAccumulate
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public final int getAndAccumulate(int x, IntBinaryOperator accumulatorFunction) {
int prev, next;
do {
prev = value;
next = accumulatorFunction.applyAsInt(prev, x);
} while (!compareAndSet(prev, next));
return prev;
}
示例11: accumulateAndGet
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
public final int accumulateAndGet(int x, IntBinaryOperator accumulatorFunction) {
int prev, next;
do {
prev = value;
next = accumulatorFunction.applyAsInt(prev, x);
} while (!compareAndSet(prev, next));
return next;
}
示例12: bitStringArithmeticAlignedWords
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
private void bitStringArithmeticAlignedWords(IntBinaryOperator op, int sourceAddr, int destinationAddr, int length) {
for (int i = 0; i < length; i++) {
int src = bus.getWord(sourceAddr + i * Integer.BYTES);
int dst = bus.getWord(destinationAddr + i * Integer.BYTES);
bus.setWord(destinationAddr + i * Integer.BYTES, op.applyAsInt(src, dst));
}
}
示例13: makeInt
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
/**
* Constructs a {@code TerminalOp} that implements a functional reduce on
* {@code int} values.
*
* @param identity the identity for the combining function
* @param operator the combining function
* @return a {@code TerminalOp} implementing the reduction
*/
public static TerminalOp<Integer, Integer>
makeInt(int identity, IntBinaryOperator operator) {
Objects.requireNonNull(operator);
class ReducingSink
implements AccumulatingSink<Integer, Integer, ReducingSink>, Sink.OfInt {
private int state;
@Override
public void begin(long size) {
state = identity;
}
@Override
public void accept(int t) {
state = operator.applyAsInt(state, t);
}
@Override
public Integer get() {
return state;
}
@Override
public void combine(ReducingSink other) {
accept(other.state);
}
}
return new ReduceOp<Integer, Integer, ReducingSink>(StreamShape.INT_VALUE) {
@Override
public ReducingSink makeSink() {
return new ReducingSink();
}
};
}
示例14: IntCumulateTask
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
/** Root task constructor */
public IntCumulateTask(IntCumulateTask parent,
IntBinaryOperator function,
int[] array, int lo, int hi) {
super(parent);
this.function = function; this.array = array;
this.lo = this.origin = lo; this.hi = this.fence = hi;
int p;
this.threshold =
(p = (hi - lo) / (ForkJoinPool.getCommonPoolParallelism() << 3))
<= MIN_PARTITION ? MIN_PARTITION : p;
}
示例15: getBinaryOperator
import java.util.function.IntBinaryOperator; //导入依赖的package包/类
private static BinaryOperator<Vec3I> getBinaryOperator(IntBinaryOperator op) {
return (a, b) -> {
int x = op.applyAsInt(a.x, b.x);
int y = op.applyAsInt(a.y, b.y);
int z = op.applyAsInt(a.z, b.z);
return new Vec3I(x, y, z);
};
}