public MiddleNgramSet(NgramTrie parent, int memPtr, int quantBits, int entries, int maxVocab, int maxNext) : base(parent, memPtr, maxVocab, quantBits + NgramTrie.requiredBits(maxNext)) { _parent = parent; nextMask = (1 << NgramTrie.requiredBits(maxNext)) - 1; if (entries + 1 >= (1 << 25) || (maxNext >= (1 << 25))) { throw new Error("Sorry, current implementation doesn't support more than " + (1 << 25) + " n-grams of particular order"); } }
protected NgramSet(NgramTrie parent, int memPtr, int maxVocab, int remainingBits) { _parent = parent; this.maxVocab = maxVocab; this.memPtr = memPtr; wordBits = NgramTrie.requiredBits(maxVocab); if (wordBits > 25) { throw new Error("Sorry, word indices more than" + (1 << 25) + " are not implemented"); } totalBits = wordBits + remainingBits; wordMask = (1 << wordBits) - 1; insertIdx = 0; }