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


Java RoaringBitmap.add方法代码示例

本文整理汇总了Java中org.roaringbitmap.RoaringBitmap.add方法的典型用法代码示例。如果您正苦于以下问题:Java RoaringBitmap.add方法的具体用法?Java RoaringBitmap.add怎么用?Java RoaringBitmap.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.roaringbitmap.RoaringBitmap的用法示例。


在下文中一共展示了RoaringBitmap.add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: writeValue

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Override
final protected void writeValue(final Collection<V> collection, final ObjectOutput out)
		throws IOException, ReflectiveOperationException {
	final NullableArray array = getNullableArray(collection.size());
	final RoaringBitmap nullBitmap = new RoaringBitmap();
	int i = 0;
	for (final V value : collection) {
		if (value == null)
			nullBitmap.add(i);
		else
			array.set(i, value);
		i++;
	}
	nullBitmap.writeExternal(out);
	ArrayExternalizer.writeBytes(array.compress(), out);
}
 
开发者ID:qwazr,项目名称:externalizor,代码行数:17,代码来源:CollectionExternalizer.java

示例2: variableIndex

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Nonnull
private int[] variableIndex(@Nonnull final Matrix x, @Nonnull final int[] bags) {
    final IntReservoirSampler sampler = new IntReservoirSampler(_numVars, _rnd.nextLong());
    if (x.isSparse()) {
        final RoaringBitmap cols = new RoaringBitmap();
        final VectorProcedure proc = new VectorProcedure() {
            public void apply(final int col) {
                cols.add(col);
            }
        };
        for (final int row : bags) {
            x.eachColumnIndexInRow(row, proc);
        }
        cols.forEach(new IntConsumer() {
            public void accept(final int k) {
                sampler.add(k);
            }
        });
    } else {
        for (int i = 0, size = _attributes.length; i < size; i++) {
            sampler.add(i);
        }
    }
    return sampler.getSample();
}
 
开发者ID:apache,项目名称:incubator-hivemall,代码行数:26,代码来源:DecisionTree.java

示例3: testCanSerialiseAndDeserialise

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void testCanSerialiseAndDeserialise() throws IOException {
    final ByteArrayBuilder byteArrayBuilder = new ByteArrayBuilder();
    JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(byteArrayBuilder);
    RoaringBitmap testBitmap = new RoaringBitmap();
    testBitmap.add(2);
    testBitmap.add(3000);
    testBitmap.add(300000);
    for (int i=400000; i<500000; i+=2) {
        testBitmap.add(i);
    }
    SERIALISER.serialize(testBitmap, jsonGenerator, null);
    jsonGenerator.flush();
    byte[] serialisedBitmap = byteArrayBuilder.toByteArray();
    JsonParser parser = JSON_FACTORY.createParser(serialisedBitmap);
    parser.setCodec(new ObjectMapper());
    Object o = DESERIALISER.deserialize(parser, null);
    assertEquals(RoaringBitmap.class, o.getClass());
    assertEquals(testBitmap, o);
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:21,代码来源:RoaringBitmapJsonSerialisationTest.java

示例4: testCanSerialiseAndDeserialiseWithRuns

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void testCanSerialiseAndDeserialiseWithRuns() throws IOException {
    final ByteArrayBuilder byteArrayBuilder = new ByteArrayBuilder();
    JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(byteArrayBuilder);
    RoaringBitmap testBitmap = new RoaringBitmap();
    testBitmap.add(2);
    testBitmap.add(3000);
    testBitmap.add(300000);
    for (int i=400000; i<500000; i+=2) {
        testBitmap.add(i);
    }
    testBitmap.runOptimize();
    SERIALISER.serialize(testBitmap, jsonGenerator, null);
    jsonGenerator.flush();
    byte[] serialisedBitmap = byteArrayBuilder.toByteArray();
    JsonParser parser = JSON_FACTORY.createParser(serialisedBitmap);
    parser.setCodec(new ObjectMapper());
    Object o = DESERIALISER.deserialize(parser, null);
    assertEquals(RoaringBitmap.class, o.getClass());
    assertEquals(testBitmap, o);
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:22,代码来源:RoaringBitmapJsonSerialisationTest.java

示例5: testCanSerialiseWithCustomObjectMapper

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void testCanSerialiseWithCustomObjectMapper() throws IOException {
    //Bitmap of (2,3000,300000) serialised in 0.5.11 Roaring Bitmap base 64 encoded
    String serialisedComparisonBitmap = "{\"roaringBitmap\":{\"value\":\"OjAAAAIAAAAAAAEABAAAABgAAAAcAAAAAgC4C+CT\"}}";
    RoaringBitmap comparisonBitmap = new RoaringBitmap();
    comparisonBitmap.add(2);
    comparisonBitmap.add(3000);
    comparisonBitmap.add(300000);
    final ObjectMapper mapper = JSONSerialiser.createDefaultMapper();
    final SimpleModule bitmapModule = new SimpleModule(RoaringBitmapConstants.BITMAP_MODULE_NAME, new Version(1, 0, 9, null, null, null));
    bitmapModule.addSerializer(RoaringBitmap.class, new RoaringBitmapJsonSerialiser());
    bitmapModule.addDeserializer(RoaringBitmap.class, new RoaringBitmapJsonDeserialiser());
    mapper.registerModule(bitmapModule);
    RoaringBitmap testBitmap = mapper.readValue(serialisedComparisonBitmap, RoaringBitmap.class);
    assertEquals(comparisonBitmap, testBitmap);
    String serialisedBitmap = mapper.writeValueAsString(testBitmap);
    assertEquals(serialisedBitmap, serialisedComparisonBitmap);
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:19,代码来源:RoaringBitmapJsonSerialisationTest.java

示例6: add

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Override
public void add(Object value)
{
    if (value == null)
    {
        if (!hasNullValues)
        {
            hasNullValues = true;
            isNullBitMap = new RoaringBitmap();
        }
        addFloat(0);
        isNullBitMap.add(size - 1);
        return;
    }
    addFloat(((Number) value).floatValue());
}
 
开发者ID:linkedin,项目名称:Cubert,代码行数:17,代码来源:FloatArrayList.java

示例7: addInPlace

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
private boolean addInPlace(RoaringBitmap bitmap, int... indexes) {
    if (indexes.length == 1) {
        bitmap.add(indexes[0]);
    } else if (indexes.length > 1) {
        int rangeStart = 0;
        for (int rangeEnd = 1; rangeEnd < indexes.length; rangeEnd++) {
            if (indexes[rangeEnd - 1] + 1 != indexes[rangeEnd]) {
                if (rangeStart == rangeEnd - 1) {
                    bitmap.add(indexes[rangeStart]);
                } else {
                    bitmap.add(indexes[rangeStart], indexes[rangeEnd - 1] + 1);
                }
                rangeStart = rangeEnd;
            }
        }
        if (rangeStart == indexes.length - 1) {
            bitmap.add(indexes[rangeStart]);
        } else {
            bitmap.add(indexes[rangeStart], indexes[indexes.length - 1] + 1);
        }
    }
    return true;
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:24,代码来源:MiruBitmapsRoaring.java

示例8: testCardinalityInBuckets_same_buckets

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void testCardinalityInBuckets_same_buckets() throws Exception {
    RoaringBitmap bitmap = new RoaringBitmap();
    for (int i = 0; i < 10; i++) {
        bitmap.add(i);
    }
    int[][] indexes = new int[][] {
        { 2, 2, 3, 3, 4, 4, 5, 5, 6 },
        { 3, 3, 4, 4, 5, 5, 6, 6, 7 } };
    long[][] cardinalityInBuckets = new long[2][indexes[0].length - 1];
    RoaringInspection.cardinalityInBuckets(bitmap, indexes, cardinalityInBuckets);
    for (int i = 0; i < 2; i++) {
        assertEquals(cardinalityInBuckets[i].length, 8);
        assertEquals(cardinalityInBuckets[i][0], 0);
        assertEquals(cardinalityInBuckets[i][1], 1);
        assertEquals(cardinalityInBuckets[i][2], 0);
        assertEquals(cardinalityInBuckets[i][3], 1);
        assertEquals(cardinalityInBuckets[i][4], 0);
        assertEquals(cardinalityInBuckets[i][5], 1);
        assertEquals(cardinalityInBuckets[i][6], 0);
        assertEquals(cardinalityInBuckets[i][7], 1);
    }
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:24,代码来源:RoaringBufferInspectionTest.java

示例9: testAndNotToSourceSize

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test(dataProvider = "miruInvertedIndexDataProviderWithData")
public void testAndNotToSourceSize(MiruInvertedIndex<RoaringBitmap, RoaringBitmap> miruInvertedIndex, List<Integer> ids) throws Exception {
    StackBuffer stackBuffer = new StackBuffer();
    MiruBitmaps<RoaringBitmap, RoaringBitmap> bitmaps = new MiruBitmapsRoaring();

    RoaringBitmap bitmap = new RoaringBitmap();
    for (int i = 0; i < ids.size() / 2; i++) {
        bitmap.add(ids.get(i));
    }
    miruInvertedIndex.andNotToSourceSize(Collections.singletonList(bitmap), stackBuffer);

    for (int i = 0; i < ids.size() / 2; i++) {
        assertFalse(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), ids.get(i)));
    }
    for (int i = ids.size() / 2; i < ids.size(); i++) {
        assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), ids.get(i)));
    }
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:19,代码来源:MiruInvertedIndexTest.java

示例10: testOr

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test(dataProvider = "miruInvertedIndexDataProviderWithData")
public void testOr(MiruInvertedIndex<RoaringBitmap, RoaringBitmap> miruInvertedIndex, List<Integer> ids) throws Exception {
    StackBuffer stackBuffer = new StackBuffer();
    MiruBitmaps<RoaringBitmap, RoaringBitmap> bitmaps = new MiruBitmapsRoaring();

    int lastId = ids.get(ids.size() - 1);

    miruInvertedIndex.set(stackBuffer, lastId + 2);

    RoaringBitmap bitmap = new RoaringBitmap();
    bitmap.add(lastId + 1);
    bitmap.add(lastId + 3);
    miruInvertedIndex.or(bitmap, stackBuffer);

    for (int id : ids) {
        assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), id));
    }
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 1));
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 2));
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 3));
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:22,代码来源:MiruInvertedIndexTest.java

示例11: testOrToSourceSize

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test(dataProvider = "miruInvertedIndexDataProviderWithData")
public void testOrToSourceSize(MiruInvertedIndex<RoaringBitmap, RoaringBitmap> miruInvertedIndex, List<Integer> ids) throws Exception {
    StackBuffer stackBuffer = new StackBuffer();
    MiruBitmaps<RoaringBitmap, RoaringBitmap> bitmaps = new MiruBitmapsRoaring();

    int lastId = ids.get(ids.size() - 1);

    miruInvertedIndex.set(stackBuffer, lastId + 2);

    RoaringBitmap bitmap = new RoaringBitmap();
    bitmap.add(lastId + 1);
    bitmap.add(lastId + 3);
    miruInvertedIndex.orToSourceSize(bitmap, stackBuffer);

    for (int id : ids) {
        assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), id));
    }
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 1));
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 2));
    assertTrue(bitmaps.isSet(getIndex(miruInvertedIndex, stackBuffer).getBitmap(), lastId + 3)); // roaring ignores source size requirement
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:22,代码来源:MiruInvertedIndexTest.java

示例12: testRead

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test(dataProvider = "miruUnreadTrackingIndexDataProviderWithData")
public void testRead(MiruBitmaps<RoaringBitmap, RoaringBitmap> bitmaps,
    MiruUnreadTrackingIndex<RoaringBitmap, RoaringBitmap> miruUnreadTrackingIndex,
    MiruStreamId streamId,
    List<Integer> expected)
    throws Exception {
    StackBuffer stackBuffer = new StackBuffer();
    assertTrue(expected.size() > 2, "Test requires at least 2 data");

    RoaringBitmap unread = getIndex(miruUnreadTrackingIndex.getUnread(streamId), stackBuffer).getBitmap();
    assertEquals(unread.getCardinality(), expected.size());

    RoaringBitmap readMask = new RoaringBitmap();
    readMask.add(expected.get(0));
    readMask.add(expected.get(1));
    readMask.add(expected.get(expected.size() - 1) + 1);
    miruUnreadTrackingIndex.applyRead(streamId, readMask, stackBuffer);

    unread = getIndex(miruUnreadTrackingIndex.getUnread(streamId), stackBuffer).getBitmap();
    assertEquals(unread.getCardinality(), expected.size() - 2);
    for (int i = 2; i < expected.size(); i++) {
        assertTrue(unread.contains(expected.get(i)));
    }
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:25,代码来源:MiruUnreadTrackingIndexTest.java

示例13: writeValue

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Override
final protected void writeValue(final boolean[] value, final ObjectOutput out) throws IOException {
	out.writeInt(value.length);
	final RoaringBitmap bitmap = new RoaringBitmap();
	for (int i = 0; i < value.length; i++)
		if (value[i])
			bitmap.add(i);
	bitmap.writeExternal(out);
}
 
开发者ID:qwazr,项目名称:externalizor,代码行数:10,代码来源:ArrayExternalizer.java

示例14: init

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Setup
public void init() throws Exception {
    Random random = new Random();

    array = new byte[volume];
    for (int i = 0; i < volume; i++) array[i] = (byte) (random.nextBoolean() ? 0 : 1);

    bitSet = new BitSet();
    for (int i = 0; i < volume; i++) if (array[i] != 0) bitSet.set(i);

    roaringBitmap = new RoaringBitmap();
    for (int i = 0; i < volume; i++) if (array[i] != 0) roaringBitmap.add(i);
}
 
开发者ID:terma,项目名称:fast-select,代码行数:14,代码来源:DirectAccessArrayVsBitSetVsRoaringBitmapBenchmark.java

示例15: singleInputBitmapGeneratesIdenticalOutputBitmap

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void singleInputBitmapGeneratesIdenticalOutputBitmap() {
    RoaringBitmap inputBitmap = new RoaringBitmap();
    int input1 = 123298333;
    int input2 = 342903339;
    inputBitmap.add(input1);
    inputBitmap.add(input2);

    RoaringBitmapAggregator roaringBitmapAggregator = new RoaringBitmapAggregator();
    final RoaringBitmap result = roaringBitmapAggregator.apply(inputBitmap, null);

    assertEquals(2, result.getCardinality());
    assertEquals(inputBitmap, result);
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:15,代码来源:RoaringBitmapAggregatorTest.java


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