-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathILDA.hpp
More file actions
53 lines (47 loc) · 1.5 KB
/
ILDA.hpp
File metadata and controls
53 lines (47 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
* ILDA.hpp
*
* Created on: 24/12/2013
* Author: polymorpher
*/
#pragma once
#include"util.hpp"
namespace AliasLDA {
class ILDA{
public:
virtual ~ILDA(){}
//optional
virtual void setGamma(double gamma){}
virtual double getGamma(){return 0;}
virtual void setDiscount(double a){}
virtual double getDiscount(){return 0;}
virtual void setConcentration(double b){}
virtual double getConcentration(){return 0;}
virtual void setRootConcentration(double b){}
virtual double getRootConcentration(){return 0;}
virtual void setBeta(double beta){}
virtual double getBeta() const{return 0;}
virtual void copyState(void* _lda, std::string impl){}
//required
virtual void setAlpha(double alpha){}
virtual void setAlphaVec(const VecDouble& alphaVec){}
virtual const VecDouble& getAlphaVec() const {return VecDouble();}
virtual void initialise()=0;
virtual void computeTheta()=0;
virtual void computeThetaSum()=0;
virtual void computePhi()=0;
virtual void clearPhi()=0;
virtual void clearTheta()=0;
virtual void gibbsStep()=0;
virtual const Vector2DDouble& getPhi() const=0;
virtual const Vector2DDouble& getTheta() const=0;
virtual const VecDouble& getThetasum() const=0;
virtual void setDocuments(Vector2DInt& docs)=0;
virtual const Vector2DInt& getDocuments() const=0;
virtual void setNumTopics(int K)=0;
virtual int getNumTopics() const=0;
virtual void setSizeVocabulary(int V)=0;
virtual void copyState(ILDA* _lda) =0;
virtual void initialiseAssignmentOnly() =0;
};
} /* namespace AliasLDA */