public final class CountValueContainer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected int |
defaultValRank |
protected long[] |
numNgramsForEachOrder |
protected boolean |
storeSuffixIndexes |
protected int[] |
suffixBitsForOrder |
protected boolean |
useMapValueArray |
protected VariableLengthBitCompressor |
valueCoder |
protected int |
valueRadix |
protected CustomWidthArray[] |
valueRanks |
protected int |
valueWidth |
Constructor and Description |
---|
CountValueContainer(LongToIntHashMap countCounter,
int valueRadix,
boolean storePrefixes,
long[] numNgramsForEachOrder) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(int[] ngram,
int startPos,
int endPos,
int ngramOrder,
long offset,
long prefixOffset,
int word,
V val_,
long suffixOffset,
boolean ngramIsNew)
Adds a new value at the specified offset.
|
void |
clearStorageAfterCompression(int ngramOrder) |
void |
clearStorageForOrder(int ngramOrder) |
CountValueContainer |
createFreshValues(long[] numNgramsForEachOrder_)
Creates a fresh value container for copying purposes.
|
void |
decompress(BitStream bits,
int ngramOrder,
boolean justConsume,
V outputVal)
Reads and decompresses from the bit stream bits.
|
BitList |
getCompressed(long offset,
int ngramOrder)
Compresses the value at the given offset into a list of bits.
|
long |
getCount(int ngramOrder,
long index) |
protected long |
getCountRank(long val) |
protected LongRef |
getDefaultVal() |
void |
getFromOffset(long index,
int ngramOrder,
LongRef outputVal)
Gets the value living at a particular offset.
|
protected void |
getFromRank(long rank,
LongRef outputVal) |
protected long |
getRank(int ngramOrder,
long offset) |
LongRef |
getScratchValue()
Creates a fresh value of object (useful for passing as an output
parameter)
|
long |
getSuffixOffset(long index,
int ngramOrder) |
protected int |
getSuffixOffsetFromInternalVal(long internalVal) |
long |
getUnigramSum() |
int |
numValueBits(int ngramOrder) |
void |
setFromOtherValues(ValueContainer<LongRef> o)
Destructively sets internal storage from another object.
|
void |
setMap(NgramMap<V> map)
Initializes a value container with the map that contains it
|
void |
setSizeAtLeast(long size,
int ngramOrder)
Sets internal storage for size for a particular n-gram order
|
boolean |
storeSuffixoffsets() |
void |
swap(long a,
long b,
int ngramOrder)
Swaps values at offsets a and b.
|
void |
trim()
Final clean up of storage.
|
void |
trimAfterNgram(int ngramOrder,
long size)
Clear storage after an n-gram order is complete
|
protected boolean |
useValueStoringArray() |
protected final CustomWidthArray[] valueRanks
protected final boolean storeSuffixIndexes
protected final VariableLengthBitCompressor valueCoder
protected final int valueRadix
protected int valueWidth
protected final int defaultValRank
protected final long[] numNgramsForEachOrder
protected final int[] suffixBitsForOrder
protected boolean useMapValueArray
public CountValueContainer(LongToIntHashMap countCounter, int valueRadix, boolean storePrefixes, long[] numNgramsForEachOrder)
public CountValueContainer createFreshValues(long[] numNgramsForEachOrder_)
ValueContainer
public void getFromOffset(long index, int ngramOrder, LongRef outputVal)
ValueContainer
protected void getFromRank(long rank, LongRef outputVal)
public final long getCount(int ngramOrder, long index)
protected LongRef getDefaultVal()
public void trimAfterNgram(int ngramOrder, long size)
ValueContainer
trimAfterNgram
in interface ValueContainer<LongRef>
public long getUnigramSum()
public LongRef getScratchValue()
ValueContainer
public void setFromOtherValues(ValueContainer<LongRef> o)
ValueContainer
setFromOtherValues
in interface ValueContainer<LongRef>
public void trim()
ValueContainer
trim
in interface ValueContainer<LongRef>
protected long getCountRank(long val)
public void setMap(NgramMap<V> map)
ValueContainer
setMap
in interface ValueContainer<V extends LongRepresentable<V>>
protected boolean useValueStoringArray()
public void swap(long a, long b, int ngramOrder)
CompressibleValueContainer
swap
in interface CompressibleValueContainer<V extends LongRepresentable<V>>
public boolean add(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long prefixOffset, int word, V val_, long suffixOffset, boolean ngramIsNew)
ValueContainer
add
in interface ValueContainer<V extends LongRepresentable<V>>
ngramOrder
- As always, ngramOrder is 0-based (0=unigram)public BitList getCompressed(long offset, int ngramOrder)
CompressibleValueContainer
getCompressed
in interface CompressibleValueContainer<V extends LongRepresentable<V>>
public void decompress(BitStream bits, int ngramOrder, boolean justConsume, V outputVal)
CompressibleValueContainer
decompress
in interface CompressibleValueContainer<V extends LongRepresentable<V>>
justConsume
- If true, nothing is returned, and the function simply consumes
the appropriate number of bits from the BitStream.public void setSizeAtLeast(long size, int ngramOrder)
ValueContainer
setSizeAtLeast
in interface ValueContainer<V extends LongRepresentable<V>>
public long getSuffixOffset(long index, int ngramOrder)
protected int getSuffixOffsetFromInternalVal(long internalVal)
internalVal
- protected long getRank(int ngramOrder, long offset)
public void clearStorageAfterCompression(int ngramOrder)
clearStorageAfterCompression
in interface CompressibleValueContainer<V extends LongRepresentable<V>>
public void clearStorageForOrder(int ngramOrder)
clearStorageForOrder
in interface ValueContainer<V extends LongRepresentable<V>>
public boolean storeSuffixoffsets()
storeSuffixoffsets
in interface ValueContainer<V extends LongRepresentable<V>>
public int numValueBits(int ngramOrder)
numValueBits
in interface ValueContainer<V extends LongRepresentable<V>>