Fix a bug where the bigram freq would be underevaluated
The difference in score is not large, but it's still a bug
Change-Id: Ie22c2b6e1206e829c1c8af096469df05af14d47b
diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h
index e42589b..85fdd94 100644
--- a/native/jni/src/binary_format.h
+++ b/native/jni/src/binary_format.h
@@ -537,7 +537,7 @@
// while a value of 15 represents the middle of the top step.
// See makedict.BinaryDictInputOutput for details.
const float stepSize = ((float)MAX_FREQ - unigramFreq) / (1.5f + MAX_BIGRAM_FREQ);
- return (int)(unigramFreq + bigramFreq * stepSize);
+ return (int)(unigramFreq + (bigramFreq + 1) * stepSize);
}
// This returns a probability in log space.