Java源码示例:org.roaringbitmap.IntConsumer

示例1
@Test
public void testDense() {
  MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
  for(int k = 0; k < 100000; k+=3)
    bitmap.add(k);

  final MutableInteger cardinality = new MutableInteger();
  bitmap.forEach(new IntConsumer() {
    int expected = 0;
    @Override
    public void accept(int value) {
      cardinality.value++;
      assertEquals(value, expected);
      expected += 3;
    }});
  assertEquals(cardinality.value, bitmap.getCardinality());
}
 
示例2
@Test
public void testSparse() {
  MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
  for(int k = 0; k < 100000; k+=3000)
    bitmap.add(k);

  final MutableInteger cardinality = new MutableInteger();
  bitmap.forEach(new IntConsumer() {
    int expected = 0;
    @Override
    public void accept(int value) {
      cardinality.value++;
      assertEquals(value, expected);
      expected+=3000;
    }});
  assertEquals(cardinality.value, bitmap.getCardinality());
}
 
示例3
/**
 * Finds routeIds of matching routes.
 * @param tagsMetadata tags to match.
 * @return all matching routeIds or empty list.
 */
public Set<String> findRouteIds(TagsMetadata tagsMetadata) {
	RoaringBitmap found = find(tagsMetadata);
	if (found.isEmpty()) {
		return Collections.emptySet();
	}
	HashSet<String> routeIds = new HashSet<>();
	found.forEach((IntConsumer) internalId -> {
		String routeId = internalRouteIdToRouteId.get(internalId);
		routeIds.add(routeId);
	});
	return routeIds;
}
 
示例4
/**
 * Finds tuples of routeIds and RSockets of matching routes.
 * @param tagsMetadata tags to match.
 * @return all matching routeId and RSocket tuples or empty list.
 */
public List<Tuple2<String, RSocket>> findRSockets(TagsMetadata tagsMetadata) {
	RoaringBitmap found = find(tagsMetadata);
	if (found.isEmpty()) {
		return Collections.emptyList();
	}
	ArrayList<Tuple2<String, RSocket>> rSockets = new ArrayList<>();
	found.forEach((IntConsumer) internalId -> {
		String routeId = internalRouteIdToRouteId.get(internalId);
		RouteEntry routeEntry = routeEntries.get(routeId);
		RSocket rSocket = routeEntry.getRSocket();
		rSockets.add(Tuples.of(routeId, rSocket));
	});
	return rSockets;
}
 
示例5
@Nonnull
private int[] variableIndex() {
    final Matrix X = _X;
    final IntReservoirSampler sampler = new IntReservoirSampler(_numVars, _rnd.nextLong());
    if (X.isSparse()) {
        // sample columns from sampled examples
        final RoaringBitmap cols = new RoaringBitmap();
        final VectorProcedure proc = new VectorProcedure() {
            public void apply(final int col) {
                cols.add(col);
            }
        };
        final int[] sampleIndex = _sampleIndex;
        for (int i = low, end = high; i < end; i++) {
            int row = sampleIndex[i];
            X.eachColumnIndexInRow(row, proc);
        }
        cols.forEach(new IntConsumer() {
            public void accept(final int k) {
                sampler.add(k);
            }
        });
    } else {
        final int ncols = X.numColumns();
        for (int i = 0; i < ncols; i++) {
            sampler.add(i);
        }
    }
    return sampler.getSample();
}
 
示例6
@Test
public void foreach() {
  MappeableContainer ac = newArrayContainer(0, 64);
  ac.forEach((char) 0, new IntConsumer() {
    int expected = 0;

    @Override
    public void accept(int value) {
      assertEquals(value, expected++);
    }
  });
}
 
示例7
@Test
public void foreach() {
  LongBuffer buffer = LongBuffer.allocate(MAX_CAPACITY / 64);
  buffer.put(~0L);
  MappeableContainer bc = new MappeableBitmapContainer(buffer.asReadOnlyBuffer(), 64);
  bc.forEach((char) 0, new IntConsumer() {
    int expected = 0;

    @Override
    public void accept(int value) {
      assertEquals(value, expected++);
    }
  });
}
 
示例8
@Test
public void testContinuous() {
  MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
  bitmap.add(100L, 10000L);

  final MutableInteger cardinality = new MutableInteger();
  bitmap.forEach(new IntConsumer() {
    int expected = 100;
    @Override
    public void accept(int value) {
      cardinality.value++;
      assertEquals(value, expected++);
    }});
  assertEquals(cardinality.value, bitmap.getCardinality());
}
 
示例9
@BenchmarkMode(Mode.AverageTime)
@Benchmark
public RoaringBitmap testMap(BenchmarkState benchmarkState) {
  final RoaringBitmap answer = new RoaringBitmap();
  benchmarkState.bitmap.forEach(new IntConsumer() {
    @Override
    public void accept(int value) {
      answer.add(inttointmap(value));
    }
  });
  return answer;
}
 
示例10
@BenchmarkMode(Mode.AverageTime)
@Benchmark
public RoaringBitmap testMapViaBitset(BenchmarkState benchmarkState) {
  final BitSet altRes = new java.util.BitSet();
  benchmarkState.bitmap.forEach(new IntConsumer() {
    @Override
    public void accept(int value) {
      altRes.set(inttointmap(value));
    }
  });
  return BitSetUtil.bitmapOf(altRes);
}
 
示例11
@Override
public void forEach(IntConsumer ic) {
  throw new UnsupportedOperationException("Not implemented in Ewah");
}
 
示例12
@Override
public void forEach(IntConsumer ic) {
  throw new UnsupportedOperationException("Not implemented in ImmutableConciseSet");
}
 
示例13
@Override
public void forEach(IntConsumer ic) {
  throw new UnsupportedOperationException("Not implemented in Ewah32");
}
 
示例14
@Override
public void forEach(IntConsumer ic) {
  bitmap.forEach(ic);
}
 
示例15
@Override
public void forEach(IntConsumer ic) {
  throw new UnsupportedOperationException("Not implemented in ConciseSet");
}
 
示例16
@Override
public void forEach(IntConsumer ic) {
  bitmap.forEach(ic);
}
 
示例17
void forEach(IntConsumer ic);