Package edu.berkeley.nlp.lm.values
Class CountValueContainer
- java.lang.Object
-
- edu.berkeley.nlp.lm.values.CountValueContainer
-
- All Implemented Interfaces:
CompressibleValueContainer<LongRef>,ValueContainer<LongRef>,java.io.Serializable
public final class CountValueContainer extends java.lang.Object- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected intdefaultValRankprotected long[]numNgramsForEachOrderprotected booleanstoreSuffixIndexesprotected int[]suffixBitsForOrderprotected booleanuseMapValueArrayprotected VariableLengthBitCompressorvalueCoderprotected intvalueRadixprotected CustomWidthArray[]valueRanksprotected intvalueWidth
-
Constructor Summary
Constructors Constructor Description CountValueContainer(LongToIntHashMap countCounter, int valueRadix, boolean storePrefixes, long[] numNgramsForEachOrder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(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.voidclearStorageAfterCompression(int ngramOrder)voidclearStorageForOrder(int ngramOrder)CountValueContainercreateFreshValues(long[] numNgramsForEachOrder_)Creates a fresh value container for copying purposes.voiddecompress(BitStream bits, int ngramOrder, boolean justConsume, V outputVal)Reads and decompresses from the bit stream bits.BitListgetCompressed(long offset, int ngramOrder)Compresses the value at the given offset into a list of bits.longgetCount(int ngramOrder, long index)protected longgetCountRank(long val)protected LongRefgetDefaultVal()voidgetFromOffset(long index, int ngramOrder, LongRef outputVal)Gets the value living at a particular offset.protected voidgetFromRank(long rank, LongRef outputVal)protected longgetRank(int ngramOrder, long offset)LongRefgetScratchValue()Creates a fresh value of object (useful for passing as an output parameter)longgetSuffixOffset(long index, int ngramOrder)protected intgetSuffixOffsetFromInternalVal(long internalVal)longgetUnigramSum()intnumValueBits(int ngramOrder)voidsetFromOtherValues(ValueContainer<LongRef> o)Destructively sets internal storage from another object.voidsetMap(NgramMap<V> map)Initializes a value container with the map that contains itvoidsetSizeAtLeast(long size, int ngramOrder)Sets internal storage for size for a particular n-gram orderbooleanstoreSuffixoffsets()voidswap(long a, long b, int ngramOrder)Swaps values at offsets a and b.voidtrim()Final clean up of storage.voidtrimAfterNgram(int ngramOrder, long size)Clear storage after an n-gram order is completeprotected booleanuseValueStoringArray()
-
-
-
Field Detail
-
valueRanks
protected final CustomWidthArray[] valueRanks
-
storeSuffixIndexes
protected final boolean storeSuffixIndexes
-
valueCoder
protected final VariableLengthBitCompressor valueCoder
-
valueRadix
protected final int valueRadix
-
valueWidth
protected int valueWidth
-
defaultValRank
protected final int defaultValRank
- See Also:
- Constant Field Values
-
numNgramsForEachOrder
protected final long[] numNgramsForEachOrder
-
suffixBitsForOrder
protected final int[] suffixBitsForOrder
-
useMapValueArray
protected boolean useMapValueArray
-
-
Constructor Detail
-
CountValueContainer
public CountValueContainer(LongToIntHashMap countCounter, int valueRadix, boolean storePrefixes, long[] numNgramsForEachOrder)
-
-
Method Detail
-
createFreshValues
public CountValueContainer createFreshValues(long[] numNgramsForEachOrder_)
Description copied from interface:ValueContainerCreates a fresh value container for copying purposes.- Returns:
-
getFromOffset
public void getFromOffset(long index, int ngramOrder, LongRef outputVal)Description copied from interface:ValueContainerGets the value living at a particular offset.
-
getFromRank
protected void getFromRank(long rank, LongRef outputVal)
-
getCount
public final long getCount(int ngramOrder, long index)
-
getDefaultVal
protected LongRef getDefaultVal()
-
trimAfterNgram
public void trimAfterNgram(int ngramOrder, long size)Description copied from interface:ValueContainerClear storage after an n-gram order is complete- Specified by:
trimAfterNgramin interfaceValueContainer<LongRef>
-
getUnigramSum
public long getUnigramSum()
-
getScratchValue
public LongRef getScratchValue()
Description copied from interface:ValueContainerCreates a fresh value of object (useful for passing as an output parameter)- Returns:
-
setFromOtherValues
public void setFromOtherValues(ValueContainer<LongRef> o)
Description copied from interface:ValueContainerDestructively sets internal storage from another object.- Specified by:
setFromOtherValuesin interfaceValueContainer<LongRef>
-
trim
public void trim()
Description copied from interface:ValueContainerFinal clean up of storage.- Specified by:
trimin interfaceValueContainer<LongRef>
-
getCountRank
protected long getCountRank(long val)
-
setMap
public void setMap(NgramMap<V> map)
Description copied from interface:ValueContainerInitializes a value container with the map that contains it- Specified by:
setMapin interfaceValueContainer<V extends LongRepresentable<V>>
-
useValueStoringArray
protected boolean useValueStoringArray()
-
swap
public void swap(long a, long b, int ngramOrder)Description copied from interface:CompressibleValueContainerSwaps values at offsets a and b.- Specified by:
swapin interfaceCompressibleValueContainer<V extends LongRepresentable<V>>
-
add
public boolean add(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long prefixOffset, int word, V val_, long suffixOffset, boolean ngramIsNew)Description copied from interface:ValueContainerAdds a new value at the specified offset.- Specified by:
addin interfaceValueContainer<V extends LongRepresentable<V>>ngramOrder- As always, ngramOrder is 0-based (0=unigram)- Returns:
- Whether or not the add was successful
-
getCompressed
public BitList getCompressed(long offset, int ngramOrder)
Description copied from interface:CompressibleValueContainerCompresses the value at the given offset into a list of bits.- Specified by:
getCompressedin interfaceCompressibleValueContainer<V extends LongRepresentable<V>>- Returns:
-
decompress
public void decompress(BitStream bits, int ngramOrder, boolean justConsume, V outputVal)
Description copied from interface:CompressibleValueContainerReads and decompresses from the bit stream bits.- Specified by:
decompressin interfaceCompressibleValueContainer<V extends LongRepresentable<V>>justConsume- If true, nothing is returned, and the function simply consumes the appropriate number of bits from the BitStream.
-
setSizeAtLeast
public void setSizeAtLeast(long size, int ngramOrder)Description copied from interface:ValueContainerSets internal storage for size for a particular n-gram order- Specified by:
setSizeAtLeastin interfaceValueContainer<V extends LongRepresentable<V>>
-
getSuffixOffset
public long getSuffixOffset(long index, int ngramOrder)
-
getSuffixOffsetFromInternalVal
protected int getSuffixOffsetFromInternalVal(long internalVal)
- Parameters:
internalVal-- Returns:
-
getRank
protected long getRank(int ngramOrder, long offset)
-
clearStorageAfterCompression
public void clearStorageAfterCompression(int ngramOrder)
- Specified by:
clearStorageAfterCompressionin interfaceCompressibleValueContainer<V extends LongRepresentable<V>>
-
clearStorageForOrder
public void clearStorageForOrder(int ngramOrder)
- Specified by:
clearStorageForOrderin interfaceValueContainer<V extends LongRepresentable<V>>
-
storeSuffixoffsets
public boolean storeSuffixoffsets()
- Specified by:
storeSuffixoffsetsin interfaceValueContainer<V extends LongRepresentable<V>>
-
numValueBits
public int numValueBits(int ngramOrder)
- Specified by:
numValueBitsin interfaceValueContainer<V extends LongRepresentable<V>>
-
-