Package it.unimi.dsi.webgraph
Class EFGraph.EliasFanoSuccessorReader
java.lang.Object
it.unimi.dsi.webgraph.AbstractLazyIntIterator
it.unimi.dsi.webgraph.EFGraph.EliasFanoSuccessorReader
- All Implemented Interfaces:
LazyIntIterator,LazyIntSkippableIterator
- Enclosing class:
EFGraph
protected static final class EFGraph.EliasFanoSuccessorReader
extends AbstractLazyIntIterator
implements LazyIntSkippableIterator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longThe current word position in the list of upper bits.longThe index of the current prefix sum.protected final it.unimi.dsi.fastutil.longs.LongBigListThe underlying list.protected final intThe logarithm of the quantum, cached from the graph.protected final longThe outdegree.protected final intThe size of a pointer.protected final intThe quantum, cached from the graph.protected final EFGraph.LongWordBitReaderThe longword bit reader for pointers.protected final longThe starting position of the pointers.protected final longThe starting position of the upper bits.protected longThe 64-bit window.Fields inherited from interface it.unimi.dsi.webgraph.LazyIntSkippableIterator
END_OF_LIST -
Constructor Summary
ConstructorsConstructorDescriptionEliasFanoSuccessorReader(long n, int upperBound, it.unimi.dsi.fastutil.longs.LongBigList graph, long outdegree, long skipPointersStart, int log2Quantum) -
Method Summary
Methods inherited from class it.unimi.dsi.webgraph.AbstractLazyIntIterator
skipMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface it.unimi.dsi.webgraph.LazyIntIterator
skip
-
Field Details
-
graph
protected final it.unimi.dsi.fastutil.longs.LongBigList graphThe underlying list. -
skipPointers
The longword bit reader for pointers. -
skipPointersStart
protected final long skipPointersStartThe starting position of the pointers. -
upperBitsStart
protected final long upperBitsStartThe starting position of the upper bits. -
log2Quantum
protected final int log2QuantumThe logarithm of the quantum, cached from the graph. -
quantum
protected final int quantumThe quantum, cached from the graph. -
pointerSize
protected final int pointerSizeThe size of a pointer. -
outdegree
protected final long outdegreeThe outdegree. -
window
protected long windowThe 64-bit window. -
curr
protected long currThe current word position in the list of upper bits. -
currentIndex
public long currentIndexThe index of the current prefix sum.
-
-
Constructor Details
-
EliasFanoSuccessorReader
public EliasFanoSuccessorReader(long n, int upperBound, it.unimi.dsi.fastutil.longs.LongBigList graph, long outdegree, long skipPointersStart, int log2Quantum)
-
-
Method Details
-
nextInt
public int nextInt()Description copied from interface:LazyIntIteratorThe next integer returned by this iterator, or the special marker if this iterator is exhausted.- Specified by:
nextIntin interfaceLazyIntIterator- Returns:
- next integer returned by this iterator, or the special marker if this iterator is exhausted.
-
skipTo
public int skipTo(int lowerBound) Description copied from interface:LazyIntSkippableIteratorSkips to a given element.Note that this interface is fragile: after
LazyIntSkippableIterator.END_OF_LISThas been returned, the behavour of further calls to this method will be unpredictable.- Specified by:
skipToin interfaceLazyIntSkippableIterator- Parameters:
lowerBound- a lower bound to the returned element.- Returns:
- if the last returned element is greater than or equal to
lowerBound, the last returned element; otherwise, the smallest element greater than or equal tolowerBoundthat would be returned by this iterator, orLazyIntSkippableIterator.END_OF_LISTif no such element exists.
-
toString
-