From c0a75c8ecbd373c4eaee4f866e4080c0b800470b Mon Sep 17 00:00:00 2001 From: Yuichiro Hanada Date: Thu, 16 Aug 2012 18:40:14 +0900 Subject: add reconstructBigramFrequency Change-Id: Iff20dcb9ca0d6064bb118247887fe24b812c0c61 --- .../latin/makedict/BinaryDictInputOutput.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java') diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java index 2c3eee74c..273ee329d 100644 --- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java +++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java @@ -1410,4 +1410,22 @@ public class BinaryDictInputOutput { return false; } } + + /** + * Calculate bigram frequency from compressed value + * + * @see #makeBigramFlags + * + * @param unigramFrequency + * @param bigramFrequency compressed frequency + * @return approximate bigram frequency + */ + public static int reconstructBigramFrequency(final int unigramFrequency, + final int bigramFrequency) { + final float stepSize = (MAX_TERMINAL_FREQUENCY - unigramFrequency) + / (1.5f + MAX_BIGRAM_FREQUENCY); + final float resultFreqFloat = (float)unigramFrequency + + stepSize * (bigramFrequency + 1.0f); + return (int)resultFreqFloat; + } } -- cgit v1.2.3-83-g751a