public int LoadDoc(int[] termID, double[] termVal, int termNum, int numVocab) { Contracts.Check(numVocab == NumVocab); Contracts.Check(termNum > 0); Contracts.Check(termID.Length >= termNum); Contracts.Check(termVal.Length >= termNum); int[] pID = new int[termNum]; int[] pVal = termVal.Select(item => (int)item).ToArray(); Array.Copy(termID, pID, termNum); return(LdaInterface.FeedInData(_engine, pID, pVal, termNum, NumVocab)); }
public int LoadDoc(ReadOnlySpan <int> termID, ReadOnlySpan <double> termVal, int termNum, int numVocab) { Contracts.Check(numVocab == NumVocab); Contracts.Check(termNum > 0); Contracts.Check(termID.Length >= termNum); Contracts.Check(termVal.Length >= termNum); int[] pID = new int[termNum]; int[] pVal = new int[termVal.Length]; for (int i = 0; i < termVal.Length; i++) { pVal[i] = (int)termVal[i]; } termID.Slice(0, termNum).CopyTo(pID); return(LdaInterface.FeedInData(_engine, pID, pVal, termNum, NumVocab)); }