diff options
author | Patrick Simianer <p@simianer.de> | 2011-10-19 14:02:34 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2011-10-19 14:02:34 +0200 |
commit | eb14e36d0b29f19321d44dd7dfa73cc703838d86 (patch) | |
tree | 1285e9e56959bc3a4b506e36bbc3b49f4e938fa0 /klm/lm/trie.cc | |
parent | 68f158b11df9f4072699fe6a4c8022ea54102b28 (diff) | |
parent | 04e38a57b19ea012895ac2efb39382c2e77833a9 (diff) |
merge upstream/master
Diffstat (limited to 'klm/lm/trie.cc')
-rw-r--r-- | klm/lm/trie.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/klm/lm/trie.cc b/klm/lm/trie.cc index 8c536e66..a1136b6f 100644 --- a/klm/lm/trie.cc +++ b/klm/lm/trie.cc @@ -86,11 +86,12 @@ template <class Quant, class Bhiksha> void BitPackedMiddle<Quant, Bhiksha>::Inse ++insert_index_; } -template <class Quant, class Bhiksha> bool BitPackedMiddle<Quant, Bhiksha>::Find(WordIndex word, float &prob, float &backoff, NodeRange &range) const { +template <class Quant, class Bhiksha> bool BitPackedMiddle<Quant, Bhiksha>::Find(WordIndex word, float &prob, float &backoff, NodeRange &range, uint64_t &pointer) const { uint64_t at_pointer; if (!FindBitPacked(base_, word_mask_, word_bits_, total_bits_, range.begin, range.end, max_vocab_, word, at_pointer)) { return false; } +<<<<<<< HEAD uint64_t index = at_pointer; at_pointer *= total_bits_; at_pointer += word_bits_; @@ -98,6 +99,16 @@ template <class Quant, class Bhiksha> bool BitPackedMiddle<Quant, Bhiksha>::Find at_pointer += quant_.TotalBits(); bhiksha_.ReadNext(base_, at_pointer, index, total_bits_, range); +======= + pointer = at_pointer; + at_pointer *= total_bits_; + at_pointer += word_bits_; + + quant_.Read(base_, at_pointer, prob, backoff); + at_pointer += quant_.TotalBits(); + + bhiksha_.ReadNext(base_, at_pointer, pointer, total_bits_, range); +>>>>>>> upstream/master return true; } |