void fillLayer(Collection<InMemEntry> list, int selectDepth, int depth, Collection<InMemEntry> entries) { for (InMemEntry entry : entries) { if (selectDepth == depth) { list.add(entry); } else if (entry instanceof InMemTreeEntry) { fillLayer(list, selectDepth, depth + 1, ((InMemTreeEntry) entry).getSubEntriesForDebug()); } } }
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); } }
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); } }
public InMemConstructionIndex(int noOfSubEntries) { root = new InMemTreeEntry(noOfSubEntries); }
public InMemConstructionIndex(int noOfSubEntries) { root = new InMemTreeEntry(noOfSubEntries); }
void fillLayer( Collection<InMemEntry> list, int selectDepth, int depth, Collection<InMemEntry> entries ) { for (InMemEntry entry : entries) { if (selectDepth == depth) { list.add(entry); } else if (entry instanceof InMemTreeEntry) { fillLayer(list, selectDepth, depth + 1, ((InMemTreeEntry) entry).getSubEntriesForDebug()); } } }
public InMemConstructionIndex( int noOfSubEntries ) { root = new InMemTreeEntry(noOfSubEntries); }
Collection<InMemEntry> getEntriesOf(int selectDepth) { List<InMemEntry> list = new ArrayList<InMemEntry>(); fillLayer(list, selectDepth, 0, ((InMemTreeEntry) root).getSubEntriesForDebug()); return list; }
void fillLayer(Collection<InMemEntry> list, int selectDepth, int depth, Collection<InMemEntry> entries) { for (InMemEntry entry : entries) { if (selectDepth == depth) { list.add(entry); } else if (entry instanceof InMemTreeEntry) { fillLayer(list, selectDepth, depth + 1, ((InMemTreeEntry) entry).getSubEntriesForDebug()); } } }
Collection<InMemEntry> getEntriesOf( int selectDepth ) { List<InMemEntry> list = new ArrayList<InMemEntry>(); fillLayer(list, selectDepth, 0, ((InMemTreeEntry) root).getSubEntriesForDebug()); return list; }
void fillLayer(Collection<InMemEntry> list, int selectDepth, int depth, Collection<InMemEntry> entries) { for (InMemEntry entry : entries) { if (selectDepth == depth) { list.add(entry); } else if (entry instanceof InMemTreeEntry) { fillLayer(list, selectDepth, depth + 1, ((InMemTreeEntry) entry).getSubEntriesForDebug()); } } }
Collection<InMemEntry> getEntriesOf(int selectDepth) { List<InMemEntry> list = new ArrayList<>(); fillLayer(list, selectDepth, 0, ((InMemTreeEntry) root).getSubEntriesForDebug()); return list; }
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); } }
public InMemConstructionIndex(int noOfSubEntries) { root = new InMemTreeEntry(noOfSubEntries); }
Collection<InMemEntry> getEntriesOf(int selectDepth) { List<InMemEntry> list = new ArrayList<>(); fillLayer(list, selectDepth, 0, ((InMemTreeEntry) root).getSubEntriesForDebug()); return list; }