当前位置: 首页>>代码示例>>Java>>正文


Java IntBinaryOperator类代码示例

本文整理汇总了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));
        }
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:23,代码来源:PrimitiveSumMinMaxTest.java

示例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;
            }
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:30,代码来源:ConcurrentHashMap.java

示例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;
}
 
开发者ID:KyoriPowered,项目名称:math,代码行数:10,代码来源:MuVector4i.java

示例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;
}
 
开发者ID:KyoriPowered,项目名称:math,代码行数:9,代码来源:MuVector3i.java

示例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;
}
 
开发者ID:KyoriPowered,项目名称:math,代码行数:8,代码来源:MuVector2i.java

示例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();
}
 
开发者ID:juebanlin,项目名称:util4j,代码行数:11,代码来源:GridOperator.java

示例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});
    };
}
 
开发者ID:PearXTeam,项目名称:PurificatiMagicae,代码行数:9,代码来源:EquationOperations.java

示例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;
}
 
开发者ID:catap,项目名称:atomic,代码行数:10,代码来源:AtomicIntegerArray.java

示例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;
}
 
开发者ID:catap,项目名称:atomic,代码行数:10,代码来源:AtomicIntegerArray.java

示例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;
}
 
开发者ID:catap,项目名称:atomic,代码行数:9,代码来源:AtomicInteger.java

示例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;
}
 
开发者ID:catap,项目名称:atomic,代码行数:9,代码来源:AtomicInteger.java

示例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));
    }
}
 
开发者ID:gilles-duboscq,项目名称:jvb,代码行数:8,代码来源:CPU.java

示例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();
        }
    };
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:43,代码来源:ReduceOps.java

示例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;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:ArrayPrefixHelpers.java

示例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);
  };
}
 
开发者ID:Energyxxer,项目名称:Vanilla-Injection,代码行数:9,代码来源:Vec3I.java


注:本文中的java.util.function.IntBinaryOperator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。