diff options
author | 2014-10-30 12:42:35 +0900 | |
---|---|---|
committer | 2014-10-30 12:42:35 +0900 | |
commit | 0a9c3f30b61ca50bb09c5cfc9ec3196c16efc656 (patch) | |
tree | 5bb2333e59002fe1a9507db0cb8a027fea8d1c1f /native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h | |
parent | c2ba0ce411d93a521e9b1ae470eb347069da4c41 (diff) | |
download | latinime-0a9c3f30b61ca50bb09c5cfc9ec3196c16efc656.tar.gz latinime-0a9c3f30b61ca50bb09c5cfc9ec3196c16efc656.tar.xz latinime-0a9c3f30b61ca50bb09c5cfc9ec3196c16efc656.zip |
Add method to encode probability.
Bug: 14425059
Change-Id: I3e5d359ba5fa38f1669f0e98dfae792ff53efbf8
Diffstat (limited to 'native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h')
-rw-r--r-- | native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h b/native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h index 3b339e61a..2050af1e9 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/probability_utils.h @@ -17,6 +17,9 @@ #ifndef LATINIME_PROBABILITY_UTILS_H #define LATINIME_PROBABILITY_UTILS_H +#include <algorithm> +#include <cmath> + #include "defines.h" namespace latinime { @@ -47,8 +50,20 @@ class ProbabilityUtils { + static_cast<int>(static_cast<float>(bigramProbability + 1) * stepSize); } + // Encode probability using the same way as we are doing for main dictionaries. + static AK_FORCE_INLINE int encodeRawProbability(const float rawProbability) { + const float probability = static_cast<float>(MAX_PROBABILITY) + + log2f(rawProbability) * PROBABILITY_ENCODING_SCALER; + if (probability < 0.0f) { + return 0; + } + return std::min(static_cast<int>(probability + 0.5f), MAX_PROBABILITY); + } + private: DISALLOW_IMPLICIT_CONSTRUCTORS(ProbabilityUtils); + + static const float PROBABILITY_ENCODING_SCALER; }; } #endif /* LATINIME_PROBABILITY_UTILS_H */ |