aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2012-08-17 03:21:06 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-17 03:21:06 -0700
commita7a11e68a73bee291413a6eaf405b0ad5a9f28cd (patch)
treeacf13449b24eb5eaf4885586befbfb54f0bd8281 /java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
parent1b4dfd4ccbdda096edc86672dfdee698d3740c20 (diff)
parent72c0f4de1dfaaa1e404f46da48d7c91f28b76f74 (diff)
downloadlatinime-a7a11e68a73bee291413a6eaf405b0ad5a9f28cd.tar.gz
latinime-a7a11e68a73bee291413a6eaf405b0ad5a9f28cd.tar.xz
latinime-a7a11e68a73bee291413a6eaf405b0ad5a9f28cd.zip
am 72c0f4de: Merge "add reconstructBigramFrequency" into jb-mr1-dev
* commit '72c0f4de1dfaaa1e404f46da48d7c91f28b76f74': add reconstructBigramFrequency
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
index 2fe91de89..7f042335a 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;
+ }
}