-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathms.h
66 lines (60 loc) · 1.22 KB
/
ms.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
struct devent {
double time;
int popi;
int popj;
double paramv;
double **mat ;
char detype ;
struct devent *nextde;
} ;
struct c_params {
int npop;
int nsam;
int *config;
double **mig_mat;
double r;
int nsites;
double f;
double track_len;
double *size;
double *alphag;
struct devent *deventlist ;
} ;
struct m_params {
double theta;
int segsitesin;
int treeflag;
int timeflag;
int mfreq;
} ;
struct params {
struct c_params cp;
struct m_params mp;
int commandlineseedflag ;
int output_precision;
};
struct node{
int abv;
int ndes;
float time;
};
// Result structure returned by the gensam function
struct gensam_result {
// positions of the segregating sites (on a scale of 0.0 - 1.0)
double *positions;
// tree output
char *tree;
};
/*KRT -- prototypes added*/
void ordran(int n, double pbuf[]);
void ranvec(int n, double pbuf[]);
void order(int n, double pbuf[]);
void biggerlist(int nsam, char **list, unsigned maxsites );
int poisso(double u);
void locate(int n,double beg, double len,double *ptr);
void mnmial(int n, int nclass, double p[], int rv[]);
void usage();
int tdesn(struct node *ptree, int tip, int node );
int pick2(int n, int *i, int *j);
int xover(int nsam,int ic, int is);
int links(int c);