void print(InMemEntry e, StringBuilder sb, long key, int depth) { if (e.isLeaf()) { InMemLeafEntry leaf = (InMemLeafEntry) e; int bits = keyAlgo.getBits(); // print reverse keys sb.append(BitUtil.BIG.toBitString(BitUtil.BIG.reverse(key, bits), bits)).append(" "); IntArrayList entries = leaf.getResults(); for (int i = 0; i < entries.size(); i++) { sb.append(leaf.get(i)).append(','); } sb.append('\n'); } else { InMemTreeEntry tree = (InMemTreeEntry) e; key = key << shifts[depth]; for (int counter = 0; counter < tree.subEntries.length; counter++) { InMemEntry sube = tree.subEntries[counter]; if (sube != null) { print(sube, sb, key | counter, depth + 1); } } } }
int store( InMemEntry entry, int intIndex ) if (entry.isLeaf())
int store(InMemEntry entry, int intIndex) { long refPointer = (long) intIndex * 4; if (entry.isLeaf()) { InMemLeafEntry leaf = ((InMemLeafEntry) entry); IntArrayList entries = leaf.getResults();
int store(InMemEntry entry, int intIndex) { long refPointer = (long) intIndex * 4; if (entry.isLeaf()) { InMemLeafEntry leaf = ((InMemLeafEntry) entry); IntArrayList entries = leaf.getResults();
void print( InMemEntry e, StringBuilder sb, long key, int depth ) { if (e.isLeaf()) { InMemLeafEntry leaf = (InMemLeafEntry) e; int bits = keyAlgo.getBits(); // print reverse keys sb.append(BitUtil.BIG.toBitString(BitUtil.BIG.reverse(key, bits), bits)).append(" "); TIntArrayList entries = leaf.getResults(); for (int i = 0; i < entries.size(); i++) { sb.append(leaf.get(i)).append(','); } sb.append('\n'); } else { InMemTreeEntry tree = (InMemTreeEntry) e; key = key << shifts[depth]; for (int counter = 0; counter < tree.subEntries.length; counter++) { InMemEntry sube = tree.subEntries[counter]; if (sube != null) { print(sube, sb, key | counter, depth + 1); } } } }
void addNode( InMemEntry entry, int nodeId, int depth, long keyPart, long key ) { if (entry.isLeaf()) { InMemLeafEntry leafEntry = (InMemLeafEntry) entry; leafEntry.addNode(nodeId); } else { int index = (int) (bitmasks[depth] & keyPart); keyPart = keyPart >>> shifts[depth]; InMemTreeEntry treeEntry = ((InMemTreeEntry) entry); InMemEntry subentry = treeEntry.getSubEntry(index); depth++; if (subentry == null) { if (depth == entries.length) { subentry = new InMemLeafEntry(initSizeLeafEntries, key); } else { subentry = new InMemTreeEntry(entries[depth]); } treeEntry.setSubEntry(index, subentry); } addNode(subentry, nodeId, depth, keyPart, key); } }
void print(InMemEntry e, StringBuilder sb, long key, int depth) { if (e.isLeaf()) { InMemLeafEntry leaf = (InMemLeafEntry) e; int bits = keyAlgo.getBits(); // print reverse keys sb.append(BitUtil.BIG.toBitString(BitUtil.BIG.reverse(key, bits), bits)).append(" "); IntArrayList entries = leaf.getResults(); for (int i = 0; i < entries.size(); i++) { sb.append(leaf.get(i)).append(','); } sb.append('\n'); } else { InMemTreeEntry tree = (InMemTreeEntry) e; key = key << shifts[depth]; for (int counter = 0; counter < tree.subEntries.length; counter++) { InMemEntry sube = tree.subEntries[counter]; if (sube != null) { print(sube, sb, key | counter, depth + 1); } } } }
void print(InMemEntry e, StringBuilder sb, long key, int depth) { if (e.isLeaf()) { InMemLeafEntry leaf = (InMemLeafEntry) e; int bits = keyAlgo.getBits(); // print reverse keys sb.append(BitUtil.BIG.toBitString(BitUtil.BIG.reverse(key, bits), bits)).append(" "); IntArrayList entries = leaf.getResults(); for (int i = 0; i < entries.size(); i++) { sb.append(leaf.get(i)).append(','); } sb.append('\n'); } else { InMemTreeEntry tree = (InMemTreeEntry) e; key = key << shifts[depth]; for (int counter = 0; counter < tree.subEntries.length; counter++) { InMemEntry sube = tree.subEntries[counter]; if (sube != null) { print(sube, sb, key | counter, depth + 1); } } } }
void addNode(InMemEntry entry, int nodeId, int depth, long keyPart, long key) { if (entry.isLeaf()) { InMemLeafEntry leafEntry = (InMemLeafEntry) entry; leafEntry.addNode(nodeId); } else { int index = (int) (bitmasks[depth] & keyPart); keyPart = keyPart >>> shifts[depth]; InMemTreeEntry treeEntry = ((InMemTreeEntry) entry); InMemEntry subentry = treeEntry.getSubEntry(index); depth++; if (subentry == null) { if (depth == entries.length) { subentry = new InMemLeafEntry(initSizeLeafEntries, key); } else { subentry = new InMemTreeEntry(entries[depth]); } treeEntry.setSubEntry(index, subentry); } addNode(subentry, nodeId, depth, keyPart, key); } }
void addNode(InMemEntry entry, int nodeId, int depth, long keyPart, long key) { if (entry.isLeaf()) { InMemLeafEntry leafEntry = (InMemLeafEntry) entry; leafEntry.addNode(nodeId); } else { int index = (int) (bitmasks[depth] & keyPart); keyPart = keyPart >>> shifts[depth]; InMemTreeEntry treeEntry = ((InMemTreeEntry) entry); InMemEntry subentry = treeEntry.getSubEntry(index); depth++; if (subentry == null) { if (depth == entries.length) { subentry = new InMemLeafEntry(initSizeLeafEntries, key); } else { subentry = new InMemTreeEntry(entries[depth]); } treeEntry.setSubEntry(index, subentry); } addNode(subentry, nodeId, depth, keyPart, key); } }
int store(InMemEntry entry, int intIndex) { long refPointer = (long) intIndex * 4; if (entry.isLeaf()) { InMemLeafEntry leaf = ((InMemLeafEntry) entry); IntArrayList entries = leaf.getResults();
void addNode(InMemEntry entry, int nodeId, int depth, long keyPart, long key) { if (entry.isLeaf()) { InMemLeafEntry leafEntry = (InMemLeafEntry) entry; leafEntry.addNode(nodeId); } else { int index = (int) (bitmasks[depth] & keyPart); keyPart = keyPart >>> shifts[depth]; InMemTreeEntry treeEntry = ((InMemTreeEntry) entry); InMemEntry subentry = treeEntry.getSubEntry(index); depth++; if (subentry == null) { if (depth == entries.length) { subentry = new InMemLeafEntry(initSizeLeafEntries, key); } else { subentry = new InMemTreeEntry(entries[depth]); } treeEntry.setSubEntry(index, subentry); } addNode(subentry, nodeId, depth, keyPart, key); } }