Legofit
infers population history from nucleotide site patterns.
network.h
1#ifndef ARR_NETWORK_H
2# define ARR_NETWORK_H
3
4# include "typedefs.h"
5# include <stdio.h>
6# include <gsl/gsl_rng.h>
7
8#ifndef EXTERN
9# define EXTERN extern
10#endif
11
12EXTERN enum NetworkType networkType;
13
14EXTERN void *(*Network_dup)(const void *old);
15EXTERN int (*Network_feasible)(const void *self, int verbose);
16EXTERN void (*Network_free)(void *self);
17EXTERN LblNdx (*Network_getLblNdx)(void *self);
18EXTERN const char *(*Network_getNameFree)(void * self, int i);
19EXTERN void (*Network_getParams)(void *self, int n, double x[n]);
20EXTERN void *(*Network_new)(const char *fname, Bounds bnd);
21EXTERN unsigned (*Network_nsamples)(const void *self);
22EXTERN int (*Network_nFree)(const void *self);
23EXTERN void (*Network_brlen)(void *self, BranchTab *branchtab,
24 gsl_rng *rng, unsigned long nreps,
25 int doSing,
26 long unsigned *event_counter);
27EXTERN void (*Network_print)(void *self, FILE *fp);
28EXTERN void (*Network_printParStore)(void *self, FILE *fp);
29EXTERN void (*Network_printParStoreFree)(void *self, FILE *fp);
30EXTERN void (*Network_randomize)(void *self, gsl_rng *rng);
31EXTERN void (*Network_sanityCheck)(void *self, const char *file,
32 int line);
33EXTERN int (*Network_setParams)(void *self, int n, double x[n]);
34EXTERN void (*Network_initStateVec)(void *vself, int ndx, int n,
35 double x[n], gsl_rng *rng);
36
37EXTERN void *(*Node_new)(int twoN_i, int start_i, ParStore *ps,
38 const char *label);
39EXTERN int (*Node_addChild)(void * parent, void * child);
40EXTERN int (*Node_mix)(void * child, int mix_i, void * introgressor,
41 void * native, ParStore *ps);
42EXTERN void *(*Node_root)(void * self);
43EXTERN void (*Node_print)(void * vself, FILE * fp, int indent);
44
45void Network_init(enum NetworkType type);
46void Network_patprob(void *self, BranchTab *branchtab,
47 gsl_rng *rng, unsigned long nreps,
48 int doSing, long unsigned *event_counter);
49
50#endif
51
52
void Network_init(enum NetworkType type)
Initialize model of network.
Definition: network.c:36
Definition: parstore.h:10
Definition: branchtab.c:20
Definition: lblndx.h:8
Definition: parstore.c:42