private long getKey(final int[] ngram, final int startPos, final int endPos) { long contextOffset = 0; for (int ngramOrder = 0; ngramOrder < endPos - startPos - 1; ++ngramOrder) { final int currNgramPos = reversed ? (endPos - ngramOrder - 1) : (startPos + ngramOrder); contextOffset = getOffsetForContextEncoding(contextOffset, ngramOrder - 1, ngram[currNgramPos], null); if (contextOffset == -1L) { return -1; } } return combineToKey(headWord(ngram, startPos, endPos), contextOffset); }
private long getKey(final int[] ngram, final int startPos, final int endPos) { long contextOffset = 0; for (int ngramOrder = 0; ngramOrder < endPos - startPos - 1; ++ngramOrder) { final int currNgramPos = reversed ? (endPos - ngramOrder - 1) : (startPos + ngramOrder); contextOffset = getOffsetForContextEncoding(contextOffset, ngramOrder - 1, ngram[currNgramPos], null); if (contextOffset == -1L) { return -1; } } return combineToKey(headWord(ngram, startPos, endPos), contextOffset); }