internal static extern void TestOneDocDense(LdaEngine engine, int[] termFreq, int termNum, int[] pTopics, int[] pProbs, ref int numTopicsMax, int numBurninIter, bool reset);
internal static extern void InitializeBeforeTest(LdaEngine engine);
internal static extern void GetDocTopic(LdaEngine engine, int docId, int[] pTopic, int[] pProb, ref int numTopicReturn);
internal static extern void GetTopicSummary(LdaEngine engine, int topicId, int[] pWords, float[] pProb, ref int numTopicReturn);
internal static extern void SetAlphaSum(LdaEngine engine, float avgDocLength);
internal static extern int FeedInDataDense(LdaEngine engine, int[] termFreq, int termNum, int numVocab);
internal static extern void DestroyEngine(LdaEngine engine);
internal static extern void SetWordTopic(LdaEngine engine, int wordId, int[] pTopic, int[] pProb, int length);
internal static extern void CleanData(LdaEngine engine);
internal static extern void CleanModel(LdaEngine engine);
internal static extern void Test(LdaEngine engine, int numBurninIter, float[] pLogLikelihood);
internal static extern void GetModelStat(LdaEngine engine, out long memBlockSize, out long aliasMemBlockSize);
internal static extern void Train(LdaEngine engine, string trainOutput);
internal static extern void AllocateDataMemory(LdaEngine engine, int docNum, long corpusSize);
internal static extern void AllocateModelMemory(LdaEngine engine, int numTopic, int numVocab, long tableSize, long aliasTableSize);