use of org.trie4j.louds.bvtree.LOUDSPPBvTree in project trie4j by takawitter.
the class AbstractWikipediaSerializeTest method getBvTreeClassName.
static String getBvTreeClassName(Trie trie) {
if (trie instanceof TailLOUDSTrie) {
StringBuilder b = new StringBuilder("(");
BvTree bvTree = ((TailLOUDSTrie) trie).getBvTree();
b.append(bvTree.getClass().getSimpleName());
if (bvTree instanceof LOUDSBvTree) {
b.append("(");
b.append(((LOUDSBvTree) bvTree).getSbv().getClass().getSimpleName());
b.append(")");
} else if (bvTree instanceof LOUDSPPBvTree) {
b.append("(");
LOUDSPPBvTree pbvt = (LOUDSPPBvTree) bvTree;
b.append("r0:").append(pbvt.getR0().getClass().getSimpleName()).append(",r1:").append(pbvt.getR1().getClass().getSimpleName()).append(")");
}
b.append(")");
return b.toString();
} else {
return "";
}
}
use of org.trie4j.louds.bvtree.LOUDSPPBvTree in project trie4j by takawitter.
the class TrieWriterTest method test.
@Test
public void test() throws Exception {
LapTimer lt = new LapTimer();
PatriciaTrie origTrie = new PatriciaTrie();
new WikipediaTitles().insertTo(origTrie);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
TrieWriter tw = new TrieWriter(baos);
Trie trie = new TailLOUDSTrie(origTrie, new LOUDSPPBvTree(origTrie.nodeSize()), new SuffixTrieDenseTailArrayBuilder());
lt.reset();
tw.write(trie);
tw.flush();
lt.lapMillis("trie saved.");
System.out.println(baos.size() + " bytes");
TrieReader tr = new TrieReader(new ByteArrayInputStream(baos.toByteArray()));
lt.reset();
Trie trie2 = tr.read();
lt.lapMillis("trie loaded.");
long d = new WikipediaTitles().assertAllContains(trie2);
System.out.println("[" + d + "ms]: verified");
}
use of org.trie4j.louds.bvtree.LOUDSPPBvTree in project trie4j by takawitter.
the class BytesConstantTimeSelect0TailLOUDSPPTrieWithSuffixTrieDenseTailArrayWikipediaSerializeTest method secondTrie.
@Override
protected Trie secondTrie(Trie firstTrie) {
Trie t = new TailLOUDSTrie(firstTrie, new LOUDSPPBvTree(new BytesRank0OnlySuccinctBitVector(), new BytesConstantTimeSelect0SuccinctBitVector()), new SuffixTrieDenseTailArrayBuilder());
t.trimToSize();
return t;
}
use of org.trie4j.louds.bvtree.LOUDSPPBvTree in project trie4j by takawitter.
the class TrieWriter method writeBvTree.
public void writeBvTree(BvTree bvTree) throws IOException {
if (bvTree instanceof LOUDSBvTree) {
dos.writeShort(TYPE_BVTREE_LOUDS);
writeLOUDSBvTree((LOUDSBvTree) bvTree);
} else if (bvTree instanceof LOUDSPPBvTree) {
dos.writeShort(TYPE_BVTREE_LOUDSPP);
writeLOUDSPPBvTree((LOUDSPPBvTree) bvTree);
} else {
throw new IOException("unknown bv tree: " + bvTree.getClass().getName());
}
}
use of org.trie4j.louds.bvtree.LOUDSPPBvTree in project trie4j by takawitter.
the class LongsConstantTimeSelect0TailLOUDSPPTrieWithSuffixTrieDenseTailArrayWikipediaSerializeTest method secondTrie.
@Override
protected Trie secondTrie(Trie firstTrie) {
Trie t = new TailLOUDSTrie(firstTrie, new LOUDSPPBvTree(new LongsRank0OnlySuccinctBitVector(), new LongsConstantTimeSelect0SuccinctBitVector()), new SuffixTrieDenseTailArrayBuilder());
t.trimToSize();
return t;
}
Aggregations