aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2013-08-13 20:35:16 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2013-08-13 20:35:16 +0900
commit23d3ed962f150578d98da7b9c61c0466d5697d93 (patch)
tree5038e79a69913ead40c77701a780de927d50b322 /native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp
parent76e579c7caf2ef04f440be21c27377fe0b4150ff (diff)
downloadlatinime-23d3ed962f150578d98da7b9c61c0466d5697d93.tar.gz
latinime-23d3ed962f150578d98da7b9c61c0466d5697d93.tar.xz
latinime-23d3ed962f150578d98da7b9c61c0466d5697d93.zip
Move files for headerPolicy to policyimpl.
Bug: 6669677 Change-Id: Ic90feb9c3a9a7b698e588c8ad25c765a246706a8
Diffstat (limited to 'native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp')
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp
new file mode 100644
index 000000000..eb828b58c
--- /dev/null
+++ b/native/jni/src/suggest/policyimpl/dictionary/header/header_policy.cpp
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2013, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "suggest/policyimpl/dictionary/header/header_policy.h"
+
+namespace latinime {
+
+const char *const HeaderPolicy::MULTIPLE_WORDS_DEMOTION_RATE_KEY =
+ "MULTIPLE_WORDS_DEMOTION_RATE";
+const float HeaderPolicy::DEFAULT_MULTI_WORD_COST_MULTIPLIER = 1.0f;
+const float HeaderPolicy::MULTI_WORD_COST_MULTIPLIER_SCALE = 100.0f;
+
+float HeaderPolicy::readMultiWordCostMultiplier() const {
+ const int headerValue = HeaderReadingUtils::readHeaderValueInt(
+ mDictBuf, MULTIPLE_WORDS_DEMOTION_RATE_KEY);
+ if (headerValue == S_INT_MIN) {
+ // not found
+ return DEFAULT_MULTI_WORD_COST_MULTIPLIER;
+ }
+ if (headerValue <= 0) {
+ return static_cast<float>(MAX_VALUE_FOR_WEIGHTING);
+ }
+ return MULTI_WORD_COST_MULTIPLIER_SCALE / static_cast<float>(headerValue);
+}
+
+} // namespace latinime