-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathmcmcTreeMove.h
23 lines (18 loc) · 1.06 KB
/
mcmcTreeMove.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
* mcmcTreeMove.h
*
* Created on: Mar 15, 2016
* Author: jahnka
*/
#ifndef MCMCTREEMOVE_H_
#define MCMCTREEMOVE_H_
int* proposeNewTree(std::vector<double> moveProbs, int n, bool** currTreeAncMatrix, int* currTreeParentVec, double& nbhcorrection);
int choseParent(std::vector<int> &possibleParents, int root);
int* getNewParentVecFast(int* currTreeParentVec, int nodeToMove, int newParent, int n);
int* getNewParentVec_SwapFast(int* currTreeParentVec, int first, int second, int n);
int* reorderToStartWithDescendant(int* nodestoswap, bool** currTreeAncMatrix);
int* getNewParentVec_Swap(int* currTreeParentVec, int first, int second, int n, int* propTreeParVec);
bool** getNewAncMatrix_Swap(bool** currTreeAncMatrix, int first, int second, int n, bool** propTreeAncMatrix);
int* getNewParentVec(int* currTreeParentVec, int nodeToMove, int newParent, int n, int *propTreeParVec);
bool** getNewAncMatrix(bool** currTreeAncMatrix, int newParent, std::vector<int> descendants, std::vector<int> possibleParents, int n, bool** propTreeAncMatrix);
#endif /* MCMCTREEMOVE_H_ */