Peng He
Committed by GitHub

Fix LogAdd (#316)

Using 0 as the initial value,  should not perform addition when both values are 0
@@ -18,8 +18,10 @@ void Hypotheses::Add(Hypothesis hyp) { @@ -18,8 +18,10 @@ void Hypotheses::Add(Hypothesis hyp) {
18 } else { 18 } else {
19 it->second.log_prob = LogAdd<double>()(it->second.log_prob, hyp.log_prob); 19 it->second.log_prob = LogAdd<double>()(it->second.log_prob, hyp.log_prob);
20 20
21 - it->second.lm_log_prob = 21 + if (it->second.lm_log_prob != 0 && hyp.lm_log_prob != 0){
  22 + it->second.lm_log_prob =
22 LogAdd<double>()(it->second.lm_log_prob, hyp.lm_log_prob); 23 LogAdd<double>()(it->second.lm_log_prob, hyp.lm_log_prob);
  24 + }
23 } 25 }
24 } 26 }
25 27