-
Notifications
You must be signed in to change notification settings - Fork 82
/
Copy pathlikelihood.h
164 lines (157 loc) · 7.44 KB
/
likelihood.h
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#ifndef LIKELIHOOD_H_
#define LIKELIHOOD_H_
//#define TIMING_ANALIZ
#if defined (TIMING_ANALIZ)
static clock_t CPUCondLikeDown;
static clock_t CPUScalers;
static clock_t CPUScalersRemove;
static clock_t CPUCondLikeRoot;
static clock_t CPULilklihood;
#define TIME(X1,CPUtime)\
{CPUTimeStart = clock();\
X1;\
CPUtime += (clock()-CPUTimeStart);}
#else
#define TIME(X1,CPUtime)\
X1;
#endif
#define A 0
#define C 1
#define G 2
#define T 3
#define AA 0
#define AC 1
#define AG 2
#define AT 3
#define CA 4
#define CC 5
#define CG 6
#define CT 7
#define GA 8
#define GC 9
#define GG 10
#define GT 11
#define TA 12
#define TC 13
#define TG 14
#define TT 15
void CopySiteScalers (ModelInfo *m, int chain);
void ResetSiteScalers (ModelInfo *m, int chain);
void FlipCijkSpace (ModelInfo *m, int chain);
void FlipCondLikeSpace (ModelInfo *m, int chain, int nodeIndex);
void FlipNodeScalerSpace (ModelInfo *m, int chain, int nodeIndex);
void FlipSiteScalerSpace (ModelInfo *m, int chain);
void FlipTiProbsSpace (ModelInfo *m, int chain, int nodeIndex);
int CondLikeDown_Bin (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_Bin_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeDown_NUC4 (TreeNode *p, int division, int chain);
#if defined (FMA_ENABLED)
int CondLikeDown_NUC4_FMA (TreeNode *p, int division, int chain);
#endif
#if defined (AVX_ENABLED)
int CondLikeDown_NUC4_AVX (TreeNode *p, int division, int chain);
#endif
#if defined (SSE_ENABLED)
int CondLikeDown_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeDown_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Std (TreeNode *p, int division, int chain);
int CondLikeRoot_Bin (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_Bin_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeRoot_NUC4 (TreeNode *p, int division, int chain);
#if defined (FMA_ENABLED)
int CondLikeRoot_NUC4_FMA (TreeNode *p, int division, int chain);
#endif
#if defined (AVX_ENABLED)
int CondLikeRoot_NUC4_AVX (TreeNode *p, int division, int chain);
#endif
#if defined (SSE_ENABLED)
int CondLikeRoot_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeRoot_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Std (TreeNode *p, int division, int chain);
int CondLikeScaler_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeScaler_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeScaler_NUC4 (TreeNode *p, int division, int chain);
#if defined (AVX_ENABLED)
int CondLikeScaler_NUC4_AVX (TreeNode *p, int division, int chain);
#endif
#if defined (SSE_ENABLED)
int CondLikeScaler_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeScaler_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeScaler_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_Std (TreeNode *p, int division, int chain);
int CondLikeUp_Bin (TreeNode *p, int division, int chain);
int CondLikeUp_Gen (TreeNode *p, int division, int chain);
int CondLikeUp_NUC4 (TreeNode *p, int division, int chain);
int CondLikeUp_Std (TreeNode *p, int division, int chain);
#if defined(BEAGLE_V3_ENABLED)
void LaunchLogLikeForBeagleMultiPartition(int chain, MrBFlt* lnL);
#endif
void LaunchLogLikeForDivision (int chain, int d, MrBFlt* lnL);
int Likelihood_Adgamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_Gen (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_Gen_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Gen_GibbsGamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_NUC4 (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (FMA_ENABLED)
int Likelihood_NUC4_FMA (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
#if defined (AVX_ENABLED)
int Likelihood_NUC4_AVX (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
#if defined (SSE_ENABLED)
int Likelihood_NUC4_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_NUC4_GibbsGamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_NY98 (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_NY98_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Pars (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_ParsStd (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_Res (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_Res_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Std (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_Cont (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int TiProbs_Fels (TreeNode *p, int division, int chain);
int TiProbs_Gen (TreeNode *p, int division, int chain);
int TiProbs_GenCov (TreeNode *p, int division, int chain);
int TiProbs_Hky (TreeNode *p, int division, int chain);
int TiProbs_JukesCantor (TreeNode *p, int division, int chain);
int TiProbs_Std (TreeNode *p, int division, int chain);
int TiProbs_Res (TreeNode *p, int division, int chain);
#endif /* LIKELIHOOD_H_ */