Search in sources :

Example 1 with LOUDSPPBvTree

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 "";
    }
}
Also used : LOUDSBvTree(org.trie4j.louds.bvtree.LOUDSBvTree) TailLOUDSTrie(org.trie4j.louds.TailLOUDSTrie) LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) BvTree(org.trie4j.louds.bvtree.BvTree) LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) LOUDSBvTree(org.trie4j.louds.bvtree.LOUDSBvTree)

Example 2 with LOUDSPPBvTree

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");
}
Also used : TailLOUDSTrie(org.trie4j.louds.TailLOUDSTrie) LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) ByteArrayInputStream(java.io.ByteArrayInputStream) PatriciaTrie(org.trie4j.patricia.PatriciaTrie) SuffixTrieDenseTailArrayBuilder(org.trie4j.tail.SuffixTrieDenseTailArrayBuilder) WikipediaTitles(org.trie4j.test.WikipediaTitles) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Trie(org.trie4j.Trie) PatriciaTrie(org.trie4j.patricia.PatriciaTrie) TailLOUDSTrie(org.trie4j.louds.TailLOUDSTrie) LapTimer(org.trie4j.test.LapTimer) Test(org.junit.Test)

Example 3 with LOUDSPPBvTree

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;
}
Also used : LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) BytesRank0OnlySuccinctBitVector(org.trie4j.bv.BytesRank0OnlySuccinctBitVector) SuffixTrieDenseTailArrayBuilder(org.trie4j.tail.SuffixTrieDenseTailArrayBuilder) BytesConstantTimeSelect0SuccinctBitVector(org.trie4j.bv.BytesConstantTimeSelect0SuccinctBitVector) Trie(org.trie4j.Trie)

Example 4 with LOUDSPPBvTree

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());
    }
}
Also used : LOUDSBvTree(org.trie4j.louds.bvtree.LOUDSBvTree) LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) IOException(java.io.IOException)

Example 5 with LOUDSPPBvTree

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;
}
Also used : LOUDSPPBvTree(org.trie4j.louds.bvtree.LOUDSPPBvTree) SuffixTrieDenseTailArrayBuilder(org.trie4j.tail.SuffixTrieDenseTailArrayBuilder) Trie(org.trie4j.Trie) LongsConstantTimeSelect0SuccinctBitVector(org.trie4j.bv.LongsConstantTimeSelect0SuccinctBitVector) LongsRank0OnlySuccinctBitVector(org.trie4j.bv.LongsRank0OnlySuccinctBitVector)

Aggregations

LOUDSPPBvTree (org.trie4j.louds.bvtree.LOUDSPPBvTree)7 Trie (org.trie4j.Trie)5 SuffixTrieDenseTailArrayBuilder (org.trie4j.tail.SuffixTrieDenseTailArrayBuilder)4 ByteArrayInputStream (java.io.ByteArrayInputStream)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 Test (org.junit.Test)2 LongsRank0OnlySuccinctBitVector (org.trie4j.bv.LongsRank0OnlySuccinctBitVector)2 TailLOUDSTrie (org.trie4j.louds.TailLOUDSTrie)2 LOUDSBvTree (org.trie4j.louds.bvtree.LOUDSBvTree)2 PatriciaTrie (org.trie4j.patricia.PatriciaTrie)2 IOException (java.io.IOException)1 ObjectInputStream (java.io.ObjectInputStream)1 ObjectOutputStream (java.io.ObjectOutputStream)1 AbstractTermIdTrieTest (org.trie4j.AbstractTermIdTrieTest)1 Node (org.trie4j.Node)1 BytesConstantTimeSelect0SuccinctBitVector (org.trie4j.bv.BytesConstantTimeSelect0SuccinctBitVector)1 BytesRank0OnlySuccinctBitVector (org.trie4j.bv.BytesRank0OnlySuccinctBitVector)1 LongsConstantTimeSelect0SuccinctBitVector (org.trie4j.bv.LongsConstantTimeSelect0SuccinctBitVector)1 LongsSuccinctBitVector (org.trie4j.bv.LongsSuccinctBitVector)1 BvTree (org.trie4j.louds.bvtree.BvTree)1