am d39371e2: Merge "Fix: PtNode array size writirng when array size > 127."
* commit 'd39371e231347b37a1266d109ca974ff3d82cf72': Fix: PtNode array size writirng when array size > 127.main
commit
a03fc25108
|
@ -429,7 +429,9 @@ public final class BinaryDictIOUtils {
|
||||||
if (countSize != 1 && countSize != 2) {
|
if (countSize != 1 && countSize != 2) {
|
||||||
throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize);
|
throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize);
|
||||||
}
|
}
|
||||||
BinaryDictEncoderUtils.writeUIntToStream(destination, ptNodeCount, countSize);
|
final int encodedPtNodeCount = (countSize == 2) ?
|
||||||
|
(ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
|
||||||
|
BinaryDictEncoderUtils.writeUIntToStream(destination, encodedPtNodeCount, countSize);
|
||||||
return countSize;
|
return countSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -304,6 +304,8 @@ public final class FormatSpec {
|
||||||
static final int INVALID_CHARACTER = -1;
|
static final int INVALID_CHARACTER = -1;
|
||||||
|
|
||||||
static final int MAX_PTNODES_FOR_ONE_BYTE_PTNODE_COUNT = 0x7F; // 127
|
static final int MAX_PTNODES_FOR_ONE_BYTE_PTNODE_COUNT = 0x7F; // 127
|
||||||
|
// Large PtNode array size field size is 2 bytes.
|
||||||
|
static final int LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG = 0x8000;
|
||||||
static final int MAX_PTNODES_IN_A_PT_NODE_ARRAY = 0x7FFF; // 32767
|
static final int MAX_PTNODES_IN_A_PT_NODE_ARRAY = 0x7FFF; // 32767
|
||||||
static final int MAX_BIGRAMS_IN_A_PTNODE = 10000;
|
static final int MAX_BIGRAMS_IN_A_PTNODE = 10000;
|
||||||
static final int MAX_SHORTCUT_LIST_SIZE_IN_A_PTNODE = 0xFFFF;
|
static final int MAX_SHORTCUT_LIST_SIZE_IN_A_PTNODE = 0xFFFF;
|
||||||
|
|
|
@ -129,7 +129,9 @@ public class Ver3DictEncoder implements DictEncoder {
|
||||||
if (countSize != 1 && countSize != 2) {
|
if (countSize != 1 && countSize != 2) {
|
||||||
throw new RuntimeException("Strange size from getGroupCountSize : " + countSize);
|
throw new RuntimeException("Strange size from getGroupCountSize : " + countSize);
|
||||||
}
|
}
|
||||||
mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, ptNodeCount,
|
final int encodedPtNodeCount = (countSize == 2) ?
|
||||||
|
(ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
|
||||||
|
mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, encodedPtNodeCount,
|
||||||
countSize);
|
countSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -320,7 +320,9 @@ public class Ver4DictEncoder implements DictEncoder {
|
||||||
if (countSize != 1 && countSize != 2) {
|
if (countSize != 1 && countSize != 2) {
|
||||||
throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize);
|
throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize);
|
||||||
}
|
}
|
||||||
mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, ptNodeCount,
|
final int encodedPtNodeCount = (countSize == 2) ?
|
||||||
|
(ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
|
||||||
|
mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, encodedPtNodeCount,
|
||||||
countSize);
|
countSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue