phylopomp
Phylodynamics for POMPs
Loading...
Searching...
No Matches
init.c
Go to the documentation of this file.
1#include "init.h"
2#include "decls.h"
3#include "pomplink.h"
4
5get_userdata_t *get_userdata;
6get_userdata_double_t *get_userdata_double;
7get_userdata_int_t *get_userdata_int;
8
9SEXP parse_newick (SEXP, SEXP, SEXP);
10SEXP getInfo (SEXP);
11SEXP genealSum (SEXP);
12SEXP curtail (SEXP, SEXP, SEXP);
13SEXP yaml (SEXP);
14SEXP gendat (SEXP, SEXP);
15SEXP geneal (SEXP);
16SEXP subsample (SEXP, SEXP);
17SEXP genealScaleShift (SEXP, SEXP, SEXP);
18SEXP cblv (SEXP);
19SEXP parse_cblv (SEXP, SEXP, SEXP);
20
21// for each model, there must be
22// one DECLARATIONS line and one METHODS line.
23
34DECLARATIONS(Strains);
35DECLARATIONS(TwoSpecies);
36DECLARATIONS(TwoUndead);
37
38static const R_CallMethodDef callMethods[] = {
39 METHODS(BDEI),
40 METHODS(BDSS),
41 METHODS(LBDP),
42 METHODS(MERS),
43 METHODS(Moran),
44 METHODS(S2I2R2),
45 METHODS(SEIR),
46 METHODS(SI2R),
47 METHODS(SIIR),
48 METHODS(SIR),
49 METHODS(Strains),
50 METHODS(TwoSpecies),
51 METHODS(TwoUndead),
52 {"parse_newick", (DL_FUNC) &parse_newick, 3},
53 {"curtail", (DL_FUNC) &curtail, 3},
54 {"yaml", (DL_FUNC) &yaml, 1},
55 {"gendat", (DL_FUNC) &gendat, 2},
56 {"geneal", (DL_FUNC) &geneal, 1},
57 {"subsample", (DL_FUNC) &subsample, 2},
58 {"geneal_scale", (DL_FUNC) &genealScaleShift, 3},
59 {"cblv", (DL_FUNC) &cblv, 1},
60 {"parse_cblv", (DL_FUNC) &parse_cblv, 3},
61 {NULL, NULL, 0}
62};
63
64static const R_CallMethodDef extMethods[] = {
65 {"getInfo", (DL_FUNC) &getInfo, -1},
66 {"genealSum", (DL_FUNC) &genealSum, -1},
67 {NULL, NULL, 0}
68};
69
70void R_init_phylopomp (DllInfo *info) {
71 // Register routines
72 R_registerRoutines(info,NULL,callMethods,NULL,extMethods);
73 R_useDynamicSymbols(info,TRUE);
74 // R_useDynamicSymbols(info,FALSE);
75 // R_forceSymbols(info,TRUE);
76 get_userdata = (get_userdata_t*) R_GetCCallable("pomp","get_userdata");
77 get_userdata_double = (get_userdata_double_t*) R_GetCCallable("pomp","get_userdata_double");
78 get_userdata_int = (get_userdata_int_t*) R_GetCCallable("pomp","get_userdata_int");
79}
SEXP parse_cblv(SEXP XY, SEXP T0, SEXP Time)
parse CBLV representation
Definition cblv.cc:180
SEXP cblv(genealogy_t &A)
Definition cblv.cc:151
SEXP curtail(SEXP State, SEXP Time, SEXP Troot)
curtail the given genealogy
Definition curtail.cc:89
SEXP gendat(SEXP State, SEXP Obscure)
data-frame format
Definition gendat.cc:104
SEXP geneal(SEXP State)
extract the bare genealogy
Definition geneal.cc:11
SEXP yaml(const TYPE &X)
human/machine readable output
Definition generics.h:43
SEXP getInfo(SEXP args)
Definition getinfo.cc:19
SEXP curtail(SEXP, SEXP, SEXP)
curtail the given genealogy
Definition curtail.cc:89
void R_init_phylopomp(DllInfo *info)
Definition init.c:70
SEXP subsample(SEXP, SEXP)
extract the bare genealogy
Definition subsample.cc:31
static const R_CallMethodDef extMethods[]
Definition init.c:64
SEXP parse_cblv(SEXP, SEXP, SEXP)
parse CBLV representation
Definition cblv.cc:180
SEXP genealSum(SEXP)
combine genealogies
Definition sum.cc:49
SEXP cblv(SEXP)
construct CBLV representation as a matrix
Definition cblv.cc:174
SEXP parse_newick(SEXP, SEXP, SEXP)
Definition parse.cc:264
get_userdata_int_t * get_userdata_int
Definition init.c:7
SEXP getInfo(SEXP)
Definition getinfo.cc:19
static const R_CallMethodDef callMethods[]
Definition init.c:38
SEXP genealScaleShift(SEXP, SEXP, SEXP)
rescale and/or reset origin
Definition scale.cc:11
SEXP gendat(SEXP, SEXP)
data-frame format
Definition gendat.cc:104
get_userdata_t * get_userdata
Definition init.c:5
get_userdata_double_t * get_userdata_double
Definition init.c:6
SEXP yaml(SEXP)
extract a YAML description
Definition yaml.cc:78
SEXP geneal(SEXP)
extract the bare genealogy
Definition geneal.cc:11
#define METHODS(X)
Definition init.h:13
#define DECLARATIONS(X)
Definition init.h:7