Examples of EWAHCompressedBitmap


Examples of com.googlecode.javaewah.EWAHCompressedBitmap

    private ComboBitset(EWAHCompressedBitmap bitmap) {
      this.inflatingBitmap = new InflatingBitSet(bitmap);
    }

    EWAHCompressedBitmap combine() {
      EWAHCompressedBitmap toAddCompressed = null;
      if (toAdd != null) {
        toAddCompressed = toAdd.toEWAHCompressedBitmap();
        toAdd = null;
      }

      EWAHCompressedBitmap toRemoveCompressed = null;
      if (toRemove != null) {
        toRemoveCompressed = toRemove.toEWAHCompressedBitmap();
        toRemove = null;
      }
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

public class InflatingBitSetTest {

  @Test
  public void testMaybeContains() {
    EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
    ecb.set(63);
    ecb.set(64);
    ecb.set(128);

    InflatingBitSet ibs = new InflatingBitSet(ecb);
    assertTrue(ibs.maybeContains(0));
    assertFalse(ibs.contains(0)); // Advance
    assertFalse(ibs.maybeContains(0));
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

    assertFalse(ibs.maybeContains(129));
  }

  @Test
  public void testContainsMany() {
    EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
    ecb.set(64);
    ecb.set(65);
    ecb.set(1024);

    InflatingBitSet ibs = new InflatingBitSet(ecb);
    assertFalse(ibs.contains(0));
    assertTrue(ibs.contains(64));
    assertTrue(ibs.contains(65));
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

    assertFalse(ibs.contains(1025));
  }

  @Test
  public void testContainsOne() {
    EWAHCompressedBitmap ecb = new EWAHCompressedBitmap();
    ecb.set(64);

    InflatingBitSet ibs = new InflatingBitSet(ecb);
    assertTrue(ibs.contains(64));
    assertTrue(ibs.contains(64));
    assertFalse(ibs.contains(65));
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

    assertFalse(ibs.contains(63));
  }

  @Test
  public void testContainsEmpty() {
    InflatingBitSet ibs = new InflatingBitSet(new EWAHCompressedBitmap());
    assertFalse(ibs.maybeContains(0));
    assertFalse(ibs.contains(0));
  }
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

    int block = block(position);
    return block < words.length && (words[block] & mask(position)) != 0;
  }

  final EWAHCompressedBitmap toEWAHCompressedBitmap() {
    EWAHCompressedBitmap compressed = new EWAHCompressedBitmap(
        words.length);
    int runningEmptyWords = 0;
    long lastNonEmptyWord = 0;
    for (long word : words) {
      if (word == 0) {
        runningEmptyWords++;
        continue;
      }

      if (lastNonEmptyWord != 0)
        compressed.add(lastNonEmptyWord);

      if (runningEmptyWords > 0) {
        compressed.addStreamOfEmptyWords(false, runningEmptyWords);
        runningEmptyWords = 0;
      }

      lastNonEmptyWord = word;
    }
    int bitsThatMatter = 64 - Long.numberOfLeadingZeros(lastNonEmptyWord);
    if (bitsThatMatter > 0)
      compressed.add(lastNonEmptyWord, bitsThatMatter);
    return compressed;
  }
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

      if (ro instanceof RevCommit) {
        RevCommit rc = (RevCommit) ro;
        reuse.add(new BitmapCommit(rc, false, entry.getFlags()));
        rw.markUninteresting(rc);

        EWAHCompressedBitmap bitmap = bitmapRemapper.ofObjectType(
            bitmapRemapper.getBitmap(rc), Constants.OBJ_COMMIT);
        writeBitmaps.addBitmap(rc, bitmap, 0);
        reuseBitmap.add(rc, Constants.OBJ_COMMIT);
      }
    }
    writeBitmaps.clearBitmaps(); // Remove temporary bitmaps

    // Do a RevWalk by commit time descending. Keep track of all the paths
    // from the wants.
    List<BitmapBuilder> paths = new ArrayList<BitmapBuilder>(want.size());
    Set<RevCommit> peeledWant = new HashSet<RevCommit>(want.size());
    for (AnyObjectId objectId : want) {
      RevObject ro = rw.peel(rw.parseAny(objectId));
      if (ro instanceof RevCommit && !reuseBitmap.contains(ro)) {
        RevCommit rc = (RevCommit) ro;
        peeledWant.add(rc);
        rw.markStart(rc);

        BitmapBuilder bitmap = commitBitmapIndex.newBitmapBuilder();
        bitmap.or(reuseBitmap);
        bitmap.add(rc, Constants.OBJ_COMMIT);
        paths.add(bitmap);
      }
    }

    // Update the paths from the wants and create a list of commits in
    // reverse iteration order.
    RevCommit[] commits = new RevCommit[expectedNumCommits];
    int pos = commits.length;
    RevCommit rc;
    while ((rc = rw.next()) != null) {
      commits[--pos] = rc;
      for (BitmapBuilder path : paths) {
        if (path.contains(rc)) {
          for (RevCommit c : rc.getParents())
            path.add(c, Constants.OBJ_COMMIT);
        }
      }

      pm.update(1);
    }

    // Remove the reused bitmaps from the paths
    if (!reuse.isEmpty())
      for (BitmapBuilder bitmap : paths)
        bitmap.andNot(reuseBitmap);

    // Sort the paths
    List<BitmapBuilder> distinctPaths = new ArrayList<BitmapBuilder>(paths.size());
    while (!paths.isEmpty()) {
      Collections.sort(paths, BUILDER_BY_CARDINALITY_DSC);
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

public class StoredBitmapTest {

  @Test
  public void testGetBitmapWithoutXor() {
    EWAHCompressedBitmap b = bitmapOf(100);
    StoredBitmap sb = newStoredBitmap(bitmapOf(100));
    assertEquals(b, sb.getBitmap());
  }
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

      sb = new StoredBitmap(ObjectId.zeroId(), bitmap, sb, 0);
    return sb;
  }

  private static final EWAHCompressedBitmap bitmapOf(int... bits) {
    EWAHCompressedBitmap b = new EWAHCompressedBitmap();
    for (int bit : bits)
      b.set(bit);
    return b;
  }
View Full Code Here

Examples of com.googlecode.javaewah.EWAHCompressedBitmap

      if (r instanceof EWAHCompressedBitmap)
        return (EWAHCompressedBitmap) r;

      // Expand the bitmap and cache the result.
      XorCompressedBitmap xb = (XorCompressedBitmap) r;
      EWAHCompressedBitmap out = xb.bitmap;
      for (;;) {
        r = xb.xorBitmap.bitmapContainer;
        if (r instanceof EWAHCompressedBitmap) {
          out = out.xor((EWAHCompressedBitmap) r);
          bitmapContainer = out;
          return out;
        }
        xb = (XorCompressedBitmap) r;
        out = out.xor(xb.bitmap);
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.