예제 #1
0
        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));
        }
예제 #2
0
        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));
        }