diff options
author | Chris Dyer <cdyer@cs.cmu.edu> | 2011-09-28 16:04:52 +0100 |
---|---|---|
committer | Chris Dyer <cdyer@cs.cmu.edu> | 2011-09-28 16:04:52 +0100 |
commit | e4ead2deba4dedf53af7cf5640ccdb913c13bdf3 (patch) | |
tree | e63b58bff49b05fd0de26f8d64e1ad24c5ce00fe /klm/lm/trie.hh | |
parent | ce75d2ce4e405b6c5ddec069fc9844bed64d548d (diff) | |
parent | 8668b6a55854eda404e29a80ace4027e1ffd2e5b (diff) |
Merge branch 'master' of github.com:redpony/cdec
Diffstat (limited to 'klm/lm/trie.hh')
-rw-r--r-- | klm/lm/trie.hh | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/klm/lm/trie.hh b/klm/lm/trie.hh index a9f5e417..06cc96ac 100644 --- a/klm/lm/trie.hh +++ b/klm/lm/trie.hh @@ -99,10 +99,11 @@ template <class Quant, class Bhiksha> class BitPackedMiddle : public BitPacked { bool FindNoProb(WordIndex word, float &backoff, NodeRange &range) const; NodeRange ReadEntry(uint64_t pointer, float &prob) { - quant_.ReadProb(base_, pointer, prob); + uint64_t addr = pointer * total_bits_; + addr += word_bits_; + quant_.ReadProb(base_, addr, prob); NodeRange ret; - // pointer/total_bits_ should always round down. - bhiksha_.ReadNext(base_, pointer + quant_.TotalBits(), pointer / total_bits_, total_bits_, ret); + bhiksha_.ReadNext(base_, addr + quant_.TotalBits(), pointer, total_bits_, ret); return ret; } |