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:23:12 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-17 03:23:12 -0700
commit9e49105af8d255568b9284ae6a1a72484cb64d2c (patch)
treee6037de3b188656457923d957df82300bb1edb12 /java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
parente03462bbac71059d0fba3487edc93d17af3eab81 (diff)
parenta7a11e68a73bee291413a6eaf405b0ad5a9f28cd (diff)
downloadlatinime-9e49105af8d255568b9284ae6a1a72484cb64d2c.tar.gz
latinime-9e49105af8d255568b9284ae6a1a72484cb64d2c.tar.xz
latinime-9e49105af8d255568b9284ae6a1a72484cb64d2c.zip
am a7a11e68: am 72c0f4de: Merge "add reconstructBigramFrequency" into jb-mr1-dev
* commit 'a7a11e68a73bee291413a6eaf405b0ad5a9f28cd': 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;
+ }
}