Merge "Remove DicNodeUtils::appendTwoWords()."

main
Keisuke Kuroyanagi 2014-03-27 09:49:49 +00:00 committed by Android (Google) Code Review
commit 2426bc2943
3 changed files with 3 additions and 38 deletions

View File

@ -16,8 +16,6 @@
#include "suggest/core/dicnode/dic_node_utils.h"
#include <cstring>
#include "suggest/core/dicnode/dic_node.h"
#include "suggest/core/dicnode/dic_node_vector.h"
#include "suggest/core/dictionary/multi_bigram_map.h"
@ -103,34 +101,4 @@ namespace latinime {
NOT_A_PROBABILITY);
}
////////////////
// Char utils //
////////////////
// TODO: Move to char_utils?
/* static */ int DicNodeUtils::appendTwoWords(const int *const src0, const int16_t length0,
const int *const src1, const int16_t length1, int *const dest) {
int actualLength0 = 0;
for (int i = 0; i < length0; ++i) {
if (src0[i] == 0) {
break;
}
actualLength0 = i + 1;
}
actualLength0 = std::min(actualLength0, MAX_WORD_LENGTH);
memmove(dest, src0, actualLength0 * sizeof(dest[0]));
if (!src1 || length1 == 0) {
return actualLength0;
}
int actualLength1 = 0;
for (int i = 0; i < length1; ++i) {
if (src1[i] == 0) {
break;
}
actualLength1 = i + 1;
}
actualLength1 = std::min(actualLength1, MAX_WORD_LENGTH - actualLength0);
memmove(&dest[actualLength0], src1, actualLength1 * sizeof(dest[0]));
return actualLength0 + actualLength1;
}
} // namespace latinime

View File

@ -17,8 +17,6 @@
#ifndef LATINIME_DIC_NODE_UTILS_H
#define LATINIME_DIC_NODE_UTILS_H
#include <stdint.h>
#include "defines.h"
namespace latinime {
@ -30,8 +28,6 @@ class MultiBigramMap;
class DicNodeUtils {
public:
static int appendTwoWords(const int *src0, const int16_t length0, const int *src1,
const int16_t length1, int *const dest);
static void initAsRoot(
const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy,
const int prevWordPtNodePos, DicNode *const newRootDicNode);

View File

@ -254,8 +254,9 @@ const int SuggestionsOutputUtils::MIN_LEN_FOR_MULTI_WORD_AUTOCORRECT = 16;
outputScores[outputWordIndex] = shortcutScore;
outputScores[outputWordIndex] = std::max(S_INT_MIN + 1, shortcutScore) - 1;
const int startIndex2 = outputWordIndex * MAX_WORD_LENGTH;
DicNodeUtils::appendTwoWords(0, 0, shortcutTarget, shortcutTargetStringLength,
&outputCodePoints[startIndex2]);
// Copy shortcut target code points to the output buffer.
memmove(&outputCodePoints[startIndex2], shortcutTarget,
shortcutTargetStringLength * sizeof(shortcutTarget[0]));
++outputWordIndex;
}
return outputWordIndex;