internal void readNextRange(int num, NgramTrieModel.TrieRange trieRange) { int num2 = num * this.totalBits; num2 += this.wordBits; num2 += this.getQuantBits(); trieRange.begin = NgramTrie.access_100(this.this_0).readInt(this.memPtr, num2, this.nextMask); num2 += this.totalBits; trieRange.end = NgramTrie.access_100(this.this_0).readInt(this.memPtr, num2, this.nextMask); }
internal MiddleNgramSet(NgramTrie ngramTrie, int num, int num2, int num3, int num4, int num5) : base(ngramTrie, num, num4, num2 + NgramTrie.access_000(ngramTrie, num5)) { this.nextMask = (1 << NgramTrie.access_000(ngramTrie, num5)) - 1; if (num3 + 1 >= 33554432 || num5 >= 33554432) { string text = "Sorry, current implementation doesn't support more than 33554432 n-grams of particular order"; throw new Error(text); } }
internal NgramSet(NgramTrie ngramTrie, int num, int num2, int num3) { this.this_0 = ngramTrie; this.maxVocab = num2; this.memPtr = num; this.wordBits = NgramTrie.access_000(ngramTrie, num2); if (this.wordBits > 25) { string text = "Sorry, word indices more than33554432 are not implemented"; throw new Error(text); } this.totalBits = this.wordBits + num3; this.wordMask = (1 << this.wordBits) - 1; this.insertIdx = 0; }
internal static int access_000(NgramTrie ngramTrie, int num) { return(ngramTrie.requiredBits(num)); }
internal virtual int readNgramWord(int num) { int bitOffset = num * this.totalBits; return(NgramTrie.access_100(this.this_0).readInt(this.memPtr, bitOffset, this.wordMask)); }
internal override int getQuantBits() { return(NgramTrie.access_200(this.this_0)); }
internal LongestNgramSet(NgramTrie ngramTrie, int num, int num2, int num3) : base(ngramTrie, num, num3, num2) { }
internal static int access_200(NgramTrie ngramTrie) { return(ngramTrie.quantProbBoLen); }
internal static NgramTrieBitarr access_100(NgramTrie ngramTrie) { return(ngramTrie.bitArr); }