diff options
Diffstat (limited to 'native')
-rw-r--r-- | native/jni/Android.mk | 13 | ||||
-rw-r--r-- | native/jni/NativeFileList.mk | 2 | ||||
-rw-r--r-- | native/jni/src/defines.h | 6 | ||||
-rw-r--r-- | native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp | 1 | ||||
-rw-r--r-- | native/jni/src/suggest/core/layout/proximity_info_utils.h | 9 | ||||
-rw-r--r-- | native/jni/src/suggest/core/result/suggestions_output_utils.cpp (renamed from native/jni/src/suggest/core/dictionary/suggestions_output_utils.cpp) | 2 | ||||
-rw-r--r-- | native/jni/src/suggest/core/result/suggestions_output_utils.h (renamed from native/jni/src/suggest/core/dictionary/suggestions_output_utils.h) | 0 | ||||
-rw-r--r-- | native/jni/src/suggest/core/suggest.cpp | 2 | ||||
-rw-r--r-- | native/jni/src/utils/hash_map_compat.h | 16 |
9 files changed, 23 insertions, 28 deletions
diff --git a/native/jni/Android.mk b/native/jni/Android.mk index 3b3da96cc..9657b9d65 100644 --- a/native/jni/Android.mk +++ b/native/jni/Android.mk @@ -31,15 +31,12 @@ LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-ali -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \ -Woverloaded-virtual -Wstrict-null-sentinel -Wsign-promo -Wno-system-headers -ifeq ($(TARGET_ARCH), arm) -ifeq ($(TARGET_GCC_VERSION), 4.6) -LOCAL_CFLAGS += -Winline -endif # TARGET_GCC_VERSION -endif # TARGET_ARCH - # To suppress compiler warnings for unused variables/functions used for debug features etc. LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function +# For C++11 +LOCAL_CFLAGS += -std=c++11 + include $(LOCAL_PATH)/NativeFileList.mk LOCAL_SRC_FILES := \ @@ -64,7 +61,7 @@ LOCAL_MODULE := libjni_latinime_common_static LOCAL_MODULE_TAGS := optional LOCAL_SDK_VERSION := 14 -LOCAL_NDK_STL_VARIANT := stlport_static +LOCAL_NDK_STL_VARIANT := gnustl_static include $(BUILD_STATIC_LIBRARY) ###################################### @@ -87,7 +84,7 @@ LOCAL_MODULE := libjni_latinime LOCAL_MODULE_TAGS := optional LOCAL_SDK_VERSION := 14 -LOCAL_NDK_STL_VARIANT := stlport_static +LOCAL_NDK_STL_VARIANT := gnustl_static LOCAL_LDFLAGS += -ldl include $(BUILD_SHARED_LIBRARY) diff --git a/native/jni/NativeFileList.mk b/native/jni/NativeFileList.mk index 82237dc24..1f5824608 100644 --- a/native/jni/NativeFileList.mk +++ b/native/jni/NativeFileList.mk @@ -32,7 +32,6 @@ LATIN_IME_CORE_SRC_FILES := \ digraph_utils.cpp \ error_type_utils.cpp \ multi_bigram_map.cpp \ - suggestions_output_utils.cpp \ word_property.cpp) \ $(addprefix suggest/core/layout/, \ additional_proximity_chars.cpp \ @@ -41,6 +40,7 @@ LATIN_IME_CORE_SRC_FILES := \ proximity_info_state.cpp \ proximity_info_state_utils.cpp) \ suggest/core/policy/weighting.cpp \ + suggest/core/result/suggestions_output_utils.cpp \ suggest/core/session/dic_traverse_session.cpp \ $(addprefix suggest/policyimpl/dictionary/, \ header/header_policy.cpp \ diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h index 22cc4c02b..0715fbd70 100644 --- a/native/jni/src/defines.h +++ b/native/jni/src/defines.h @@ -352,13 +352,13 @@ template<typename T> AK_FORCE_INLINE const T &max(const T &a, const T &b) { retu #define MIN_OUTPUT_INDEX_FOR_DEBUG (-1) #define DISALLOW_DEFAULT_CONSTRUCTOR(TypeName) \ - TypeName() + TypeName() = delete #define DISALLOW_COPY_CONSTRUCTOR(TypeName) \ - TypeName(const TypeName&) + TypeName(const TypeName&) = delete #define DISALLOW_ASSIGNMENT_OPERATOR(TypeName) \ - void operator=(const TypeName&) + void operator=(const TypeName&) = delete #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ DISALLOW_COPY_CONSTRUCTOR(TypeName); \ diff --git a/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp b/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp index bc4ca8e9e..f84615487 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp +++ b/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp @@ -16,6 +16,7 @@ #include "suggest/core/layout/proximity_info_state_utils.h" +#include <algorithm> #include <cmath> #include <cstring> // for memset() #include <sstream> // for debug prints diff --git a/native/jni/src/suggest/core/layout/proximity_info_utils.h b/native/jni/src/suggest/core/layout/proximity_info_utils.h index bc8d5bc1d..6d2c11b09 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_utils.h +++ b/native/jni/src/suggest/core/layout/proximity_info_utils.h @@ -164,12 +164,15 @@ class ProximityInfoUtils { const int gridWidth, const int mostCommonKeyWidth, const int keyCount, const int x, const int y, const int primaryKey, const char *const localeStr, const hash_map_compat<int, int> *const codeToKeyMap, int *proximities) { - if (x == NOT_A_COORDINATE || y == NOT_A_COORDINATE) { - return; - } const int mostCommonKeyWidthSquare = mostCommonKeyWidth * mostCommonKeyWidth; int insertPos = 0; proximities[insertPos++] = primaryKey; + if (x == NOT_A_COORDINATE || y == NOT_A_COORDINATE) { + for (int i = insertPos; i < MAX_PROXIMITY_CHARS_SIZE; ++i) { + proximities[i] = NOT_A_CODE_POINT; + } + return; + } const int startIndex = getStartIndexFromCoordinates(x, y, cellHeight, cellWidth, gridWidth); if (startIndex >= 0) { for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) { diff --git a/native/jni/src/suggest/core/dictionary/suggestions_output_utils.cpp b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp index 07c2e6ea9..e9fb3b885 100644 --- a/native/jni/src/suggest/core/dictionary/suggestions_output_utils.cpp +++ b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "suggest/core/dictionary/suggestions_output_utils.h" +#include "suggest/core/result/suggestions_output_utils.h" #include "suggest/core/dicnode/dic_node.h" #include "suggest/core/dicnode/dic_node_utils.h" diff --git a/native/jni/src/suggest/core/dictionary/suggestions_output_utils.h b/native/jni/src/suggest/core/result/suggestions_output_utils.h index d456a545f..d456a545f 100644 --- a/native/jni/src/suggest/core/dictionary/suggestions_output_utils.h +++ b/native/jni/src/suggest/core/result/suggestions_output_utils.h diff --git a/native/jni/src/suggest/core/suggest.cpp b/native/jni/src/suggest/core/suggest.cpp index 56acc2dc1..c3b670337 100644 --- a/native/jni/src/suggest/core/suggest.cpp +++ b/native/jni/src/suggest/core/suggest.cpp @@ -21,11 +21,11 @@ #include "suggest/core/dicnode/dic_node_vector.h" #include "suggest/core/dictionary/dictionary.h" #include "suggest/core/dictionary/digraph_utils.h" -#include "suggest/core/dictionary/suggestions_output_utils.h" #include "suggest/core/layout/proximity_info.h" #include "suggest/core/policy/dictionary_structure_with_buffer_policy.h" #include "suggest/core/policy/traversal.h" #include "suggest/core/policy/weighting.h" +#include "suggest/core/result/suggestions_output_utils.h" #include "suggest/core/session/dic_traverse_session.h" namespace latinime { diff --git a/native/jni/src/utils/hash_map_compat.h b/native/jni/src/utils/hash_map_compat.h index a1e982bc4..7bf35a660 100644 --- a/native/jni/src/utils/hash_map_compat.h +++ b/native/jni/src/utils/hash_map_compat.h @@ -17,18 +17,12 @@ #ifndef LATINIME_HASH_MAP_COMPAT_H #define LATINIME_HASH_MAP_COMPAT_H -// TODO: Use std::unordered_map that has been standardized in C++11 +#include <unordered_map> -#ifdef __APPLE__ -#include <ext/hash_map> -#else // __APPLE__ -#include <hash_map> -#endif // __APPLE__ +#define hash_map_compat std::unordered_map -#ifdef __SGI_STL_PORT -#define hash_map_compat stlport::hash_map -#else // __SGI_STL_PORT -#define hash_map_compat __gnu_cxx::hash_map -#endif // __SGI_STL_PORT +#if 0 // TODO: Use this instead of the above macro. +template <typename TKey, typename TValue> using hash_map_compat = std::unordered_map<TKey, TValue>; +#endif #endif // LATINIME_HASH_MAP_COMPAT_H |