Package it.unimi.dsi.util
Class SemiExternalGammaList
- java.lang.Object
-
- java.util.AbstractCollection<java.lang.Long>
-
- it.unimi.dsi.fastutil.longs.AbstractLongCollection
-
- it.unimi.dsi.fastutil.longs.AbstractLongList
-
- it.unimi.dsi.util.SemiExternalGammaList
-
- All Implemented Interfaces:
it.unimi.dsi.fastutil.longs.LongCollection
,it.unimi.dsi.fastutil.longs.LongIterable
,it.unimi.dsi.fastutil.longs.LongList
,it.unimi.dsi.fastutil.longs.LongStack
,it.unimi.dsi.fastutil.Stack<java.lang.Long>
,java.lang.Comparable<java.util.List<? extends java.lang.Long>>
,java.lang.Iterable<java.lang.Long>
,java.util.Collection<java.lang.Long>
,java.util.List<java.lang.Long>
public class SemiExternalGammaList extends it.unimi.dsi.fastutil.longs.AbstractLongList
Provides semi-external random access to a list of γ-encoded integers.This class is a semi-external
LongList
that MG4J uses to access files containing frequencies.Instead, this class accesses frequencies in their compressed forms, and provides entry points for random access to each long. At construction time, entry points are computed with a certain step, which is the number of longs accessible from each entry point, or, equivalently, the maximum number of longs that will be necessary to read to access a given long.
Warning: This class is not thread safe, and needs to be synchronised to be used in a multithreaded environment.
- Author:
- Fabien Campagne, Sebastiano Vigna
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_STEP
-
Constructor Summary
Constructors Constructor Description SemiExternalGammaList(InputBitStream longs)
Creates a new semi-external list.SemiExternalGammaList(InputBitStream longs, int step, int numLongs)
Creates a new semi-external list.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getLong(int index)
int
size()
-
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongList
add, add, addAll, addAll, addAll, addAll, addElements, addElements, clear, compareTo, contains, ensureIndex, ensureRestrictedIndex, equals, forEach, getElements, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, peekLong, popLong, push, rem, removeElements, removeLong, replaceAll, set, setElements, size, subList, toArray, toLongArray, topLong, toString
-
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongCollection
add, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toLongArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.List
containsAll, isEmpty, removeAll, retainAll, toArray, toArray
-
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection
containsAll, longIterator, longParallelStream, longSpliterator, longStream, parallelStream, removeAll, removeIf, removeIf, removeIf, retainAll, spliterator, stream, toLongArray
-
-
-
-
Field Detail
-
DEFAULT_STEP
public static final int DEFAULT_STEP
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SemiExternalGammaList
public SemiExternalGammaList(InputBitStream longs, int step, int numLongs) throws java.io.IOException
Creates a new semi-external list.- Parameters:
longs
- a bit stream containing γ-encoded longs.step
- the step used to build random-access entry points, or -1 to getDEFAULT_STEP
.numLongs
- the overall number of offsets (i.e., the number of terms).- Throws:
java.io.IOException
-
SemiExternalGammaList
public SemiExternalGammaList(InputBitStream longs) throws java.io.IOException
Creates a new semi-external list.This quick-and-dirty constructor estimates the number of longs by checking for an
EOFException
.- Parameters:
longs
- a bit stream containing γ-encoded longs.- Throws:
java.io.IOException
-
-