From 09baa36f7d1298e54a291b0d486cf366a3c3257c Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 3 Feb 2012 21:24:53 +0900 Subject: [PATCH] Use C++ template for min/max To be more friendly for off-device regression test. Change-Id: I7edf4c9de73915aad9c1760ace7df3177ed3c4e9 --- native/src/correction.cpp | 1 + native/src/defines.h | 4 ++-- native/src/words_priority_queue.h | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/native/src/correction.cpp b/native/src/correction.cpp index 8275c5d7e..a71a59962 100644 --- a/native/src/correction.cpp +++ b/native/src/correction.cpp @@ -24,6 +24,7 @@ #include "char_utils.h" #include "correction.h" +#include "defines.h" #include "dictionary.h" #include "proximity_info.h" diff --git a/native/src/defines.h b/native/src/defines.h index 02c1fe0a2..9f237c589 100644 --- a/native/src/defines.h +++ b/native/src/defines.h @@ -240,8 +240,8 @@ static void prof_out(void) { #define MIN_USER_TYPED_LENGTH_FOR_MULTIPLE_WORD_SUGGESTION 3 #define MIN_USER_TYPED_LENGTH_FOR_EXCESSIVE_CHARACTER_SUGGESTION 3 -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) +template inline T min(T a, T b) { return a < b ? a : b; } +template inline T max(T a, T b) { return a > b ? a : b; } // The ratio of neutral area radius to sweet spot radius. #define NEUTRAL_AREA_RADIUS_RATIO 1.3f diff --git a/native/src/words_priority_queue.h b/native/src/words_priority_queue.h index e8cd983b1..249962eec 100644 --- a/native/src/words_priority_queue.h +++ b/native/src/words_priority_queue.h @@ -17,6 +17,7 @@ #ifndef LATINIME_WORDS_PRIORITY_QUEUE_H #define LATINIME_WORDS_PRIORITY_QUEUE_H +#include // for memcpy() #include #include #include "defines.h" @@ -93,7 +94,8 @@ class WordsPriorityQueue { int outputSuggestions(int *frequencies, unsigned short *outputChars) { mHighestSuggestedWord = 0; - const unsigned int size = min(MAX_WORDS, mSuggestions.size()); + const unsigned int size = min( + MAX_WORDS, static_cast(mSuggestions.size())); int index = size - 1; while (!mSuggestions.empty() && index >= 0) { SuggestedWord* sw = mSuggestions.top();