Package edu.berkeley.nlp.lm.values
Class CompressibleProbBackoffValueContainer
- java.lang.Object
-
- edu.berkeley.nlp.lm.values.CompressibleProbBackoffValueContainer
-
- All Implemented Interfaces:
CompressibleValueContainer<ProbBackoffPair>,ProbBackoffValueContainer,ValueContainer<ProbBackoffPair>,java.io.Serializable
public final class CompressibleProbBackoffValueContainer extends java.lang.Object implements ProbBackoffValueContainer
- 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 CompressibleProbBackoffValueContainer(int valueRadix, boolean storePrefixIndexes, long[] numNgramsForEachOrder, float[] probsForRank, float[] backoffsForRank, Indexer<java.lang.Float> probIndexer, int wordWidth, Indexer<java.lang.Float> backoffIndexer, int backoffWidth)CompressibleProbBackoffValueContainer(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)CompressibleProbBackoffValueContainercreateFreshValues(long[] numNgramsForEachOrder_)Creates a fresh value container for copying purposes.voiddecompress(BitStream bits, int ngramOrder, boolean justConsume, ProbBackoffPair outputVal)Reads and decompresses from the bit stream bits.floatgetBackoff(int ngramOrder, long index)floatgetBackoff(CustomWidthArray valueRanksForNgramOrder, long index)BitListgetCompressed(long offset, int ngramOrder)Compresses the value at the given offset into a list of bits.protected longgetCountRank(long val)protected ProbBackoffPairgetDefaultVal()voidgetFromOffset(long index, int ngramOrder, ProbBackoffPair outputVal)Gets the value living at a particular offset.protected voidgetFromRank(long rank, ProbBackoffPair outputVal)longgetInternalVal(int ngramOrder, long index)floatgetProb(int ngramOrder, long index)floatgetProb(CustomWidthArray valueRanksForOrder, long index)protected longgetRank(int ngramOrder, long offset)ProbBackoffPairgetScratchValue()Creates a fresh value of object (useful for passing as an output parameter)longgetSuffixOffset(long index, int ngramOrder)protected intgetSuffixOffsetFromInternalVal(long internalVal)intnumValueBits(int ngramOrder)voidsetFromOtherValues(ValueContainer<ProbBackoffPair> 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()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface edu.berkeley.nlp.lm.values.ProbBackoffValueContainer
getSuffixOffset
-
Methods inherited from interface edu.berkeley.nlp.lm.values.ValueContainer
add, clearStorageForOrder, numValueBits, setMap, setSizeAtLeast, storeSuffixoffsets, trimAfterNgram
-
-
-
-
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
-
CompressibleProbBackoffValueContainer
public CompressibleProbBackoffValueContainer(LongToIntHashMap countCounter, int valueRadix, boolean storePrefixes, long[] numNgramsForEachOrder)
-
CompressibleProbBackoffValueContainer
public CompressibleProbBackoffValueContainer(int valueRadix, boolean storePrefixIndexes, long[] numNgramsForEachOrder, float[] probsForRank, float[] backoffsForRank, Indexer<java.lang.Float> probIndexer, int wordWidth, Indexer<java.lang.Float> backoffIndexer, int backoffWidth)- Parameters:
valueRadix-storePrefixIndexes-maxNgramOrder-hasBackoffValIndexer-noBackoffValIndexer-probsAndBackoffsForRank-probsForRank-hasBackoffValIndexer-
-
-
Method Detail
-
createFreshValues
public CompressibleProbBackoffValueContainer createFreshValues(long[] numNgramsForEachOrder_)
Description copied from interface:ValueContainerCreates a fresh value container for copying purposes.- Specified by:
createFreshValuesin interfaceValueContainer<ProbBackoffPair>- Returns:
-
getProb
public final float getProb(int ngramOrder, long index)- Specified by:
getProbin interfaceProbBackoffValueContainer
-
getInternalVal
public final long getInternalVal(int ngramOrder, long index)
-
getProb
public final float getProb(CustomWidthArray valueRanksForOrder, long index)
-
getFromOffset
public void getFromOffset(long index, int ngramOrder, ProbBackoffPair outputVal)Description copied from interface:ValueContainerGets the value living at a particular offset.- Specified by:
getFromOffsetin interfaceValueContainer<ProbBackoffPair>
-
getBackoff
public final float getBackoff(int ngramOrder, long index)- Specified by:
getBackoffin interfaceProbBackoffValueContainer
-
getBackoff
public final float getBackoff(CustomWidthArray valueRanksForNgramOrder, long index)
-
getDefaultVal
protected ProbBackoffPair getDefaultVal()
-
getFromRank
protected void getFromRank(long rank, ProbBackoffPair outputVal)
-
getScratchValue
public ProbBackoffPair getScratchValue()
Description copied from interface:ValueContainerCreates a fresh value of object (useful for passing as an output parameter)- Specified by:
getScratchValuein interfaceProbBackoffValueContainer- Specified by:
getScratchValuein interfaceValueContainer<ProbBackoffPair>- Returns:
-
setFromOtherValues
public void setFromOtherValues(ValueContainer<ProbBackoffPair> o)
Description copied from interface:ValueContainerDestructively sets internal storage from another object.- Specified by:
setFromOtherValuesin interfaceValueContainer<ProbBackoffPair>
-
trim
public void trim()
Description copied from interface:ValueContainerFinal clean up of storage.- Specified by:
trimin interfaceValueContainer<ProbBackoffPair>
-
getCountRank
protected long getCountRank(long val)
-
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<ProbBackoffPair>- Returns:
-
decompress
public final void decompress(BitStream bits, int ngramOrder, boolean justConsume, ProbBackoffPair outputVal)
Description copied from interface:CompressibleValueContainerReads and decompresses from the bit stream bits.- Specified by:
decompressin interfaceCompressibleValueContainer<ProbBackoffPair>justConsume- If true, nothing is returned, and the function simply consumes the appropriate number of bits from the BitStream.
-
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
-
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>>
-
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<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>>
-
-