Package it.unimi.dsi.big.webgraph
Class EFGraph.EliasFanoSuccessorReader
java.lang.Object
it.unimi.dsi.big.webgraph.AbstractLazyLongIterator
it.unimi.dsi.big.webgraph.EFGraph.EliasFanoSuccessorReader
- All Implemented Interfaces:
LazyLongIterator
,LazyLongSkippableIterator
- Enclosing class:
- EFGraph
protected static final class EFGraph.EliasFanoSuccessorReader
extends AbstractLazyLongIterator
implements LazyLongSkippableIterator
-
Field Summary
Modifier and TypeFieldDescriptionprotected long
The current word position in the list of upper bits.long
The index of the current prefix sum.protected final LongBigList
The underlying list.protected final int
The logarithm of the quantum, cached from the graph.protected final long
The outdegree.protected final int
The size of a pointer.protected final int
The quantum, cached from the graph.protected final EFGraph.LongWordBitReader
The longword bit reader for pointers.protected final long
The starting position of the pointers.protected final long
The starting position of the upper bits.protected long
The 64-bit window.Fields inherited from interface it.unimi.dsi.big.webgraph.LazyLongSkippableIterator
END_OF_LIST
-
Constructor Summary
ConstructorDescriptionEliasFanoSuccessorReader
(long n, long upperBound, LongBigList graph, long outdegree, long skipPointersStart, int log2Quantum) -
Method Summary
Methods inherited from class it.unimi.dsi.big.webgraph.AbstractLazyLongIterator
skip
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface it.unimi.dsi.big.webgraph.LazyLongIterator
skip
-
Field Details
-
graph
The 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, long upperBound, LongBigList graph, long outdegree, long skipPointersStart, int log2Quantum)
-
-
Method Details
-
nextLong
public long nextLong()Description copied from interface:LazyLongIterator
The next long returned by this iterator, or the special marker if this iterator is exhausted.- Specified by:
nextLong
in interfaceLazyLongIterator
- Returns:
- next long returned by this iterator, or the special marker if this iterator is exhausted.
-
skipTo
public long skipTo(long lowerBound) Description copied from interface:LazyLongSkippableIterator
Skips to a given element.Note that this interface is fragile: after
LazyLongSkippableIterator.END_OF_LIST
has been returned, the behavour of further calls to this method will be unpredictable.- Specified by:
skipTo
in interfaceLazyLongSkippableIterator
- 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 tolowerBound
that would be returned by this iterator, orLazyLongSkippableIterator.END_OF_LIST
if no such element exists.
-
toString
-