aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/jni/src/binary_format.h5
-rw-r--r--native/jni/src/suggest/core/dicnode/dic_node.h3
-rw-r--r--native/jni/src/suggest/core/dicnode/dic_node_properties.h5
-rw-r--r--native/jni/src/terminal_attributes.h2
4 files changed, 12 insertions, 3 deletions
diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h
index 2d2e19501..ad16039ef 100644
--- a/native/jni/src/binary_format.h
+++ b/native/jni/src/binary_format.h
@@ -66,6 +66,7 @@ class BinaryFormat {
static int detectFormat(const uint8_t *const dict);
static int getHeaderSize(const uint8_t *const dict);
static int getFlags(const uint8_t *const dict);
+ static bool hasBlacklistedOrNotAWordFlag(const int flags);
static void readHeaderValue(const uint8_t *const dict, const char *const key, int *outValue,
const int outValueSize);
static int readHeaderValueInt(const uint8_t *const dict, const char *const key);
@@ -162,6 +163,10 @@ inline int BinaryFormat::getFlags(const uint8_t *const dict) {
}
}
+inline bool BinaryFormat::hasBlacklistedOrNotAWordFlag(const int flags) {
+ return flags & (FLAG_IS_BLACKLISTED | FLAG_IS_NOT_A_WORD);
+}
+
inline int BinaryFormat::getHeaderSize(const uint8_t *const dict) {
switch (detectFormat(dict)) {
case 1:
diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h
index f8d2df452..e8432546b 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node.h
@@ -210,8 +210,7 @@ class DicNode {
}
bool isImpossibleBigramWord() const {
- const int probability = mDicNodeProperties.getProbability();
- if (probability == 0) {
+ if (mDicNodeProperties.hasBlacklistedOrNotAWordFlag()) {
return true;
}
const int prevWordLen = mDicNodeState.mDicNodeStatePrevWord.getPrevWordLength()
diff --git a/native/jni/src/suggest/core/dicnode/dic_node_properties.h b/native/jni/src/suggest/core/dicnode/dic_node_properties.h
index 173ef35d0..63a6b1340 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node_properties.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node_properties.h
@@ -19,6 +19,7 @@
#include <stdint.h>
+#include "binary_format.h"
#include "defines.h"
namespace latinime {
@@ -144,6 +145,10 @@ class DicNodeProperties {
return mChildrenCount > 0 || mDepth != mLeavingDepth;
}
+ bool hasBlacklistedOrNotAWordFlag() const {
+ return BinaryFormat::hasBlacklistedOrNotAWordFlag(mFlags);
+ }
+
private:
// Caution!!!
// Use a default copy constructor and an assign operator because shallow copies are ok
diff --git a/native/jni/src/terminal_attributes.h b/native/jni/src/terminal_attributes.h
index 144ae1452..92ef71c2c 100644
--- a/native/jni/src/terminal_attributes.h
+++ b/native/jni/src/terminal_attributes.h
@@ -72,7 +72,7 @@ class TerminalAttributes {
}
bool isBlacklistedOrNotAWord() const {
- return mFlags & (BinaryFormat::FLAG_IS_BLACKLISTED | BinaryFormat::FLAG_IS_NOT_A_WORD);
+ return BinaryFormat::hasBlacklistedOrNotAWordFlag(mFlags);
}
private: