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 genealScaleShift (SEXP, SEXP, SEXP);
17SEXP cblv (SEXP);
18SEXP parse_cblv (SEXP, SEXP, SEXP);
19
20// for each model, there must be
21// one DECLARATIONS line and one METHODS line.
22
33DECLARATIONS(Strains);
34DECLARATIONS(TwoSpecies);
35DECLARATIONS(TwoUndead);
36
37static const R_CallMethodDef callMethods[] = {
38 METHODS(BDEI),
39 METHODS(BDSS),
40 METHODS(LBDP),
41 METHODS(MERS),
42 METHODS(Moran),
43 METHODS(S2I2R2),
44 METHODS(SEIR),
45 METHODS(SI2R),
46 METHODS(SIIR),
47 METHODS(SIR),
48 METHODS(Strains),
49 METHODS(TwoSpecies),
50 METHODS(TwoUndead),
51 {"parse_newick", (DL_FUNC) &parse_newick, 3},
52 {"curtail", (DL_FUNC) &curtail, 3},
53 {"yaml", (DL_FUNC) &yaml, 1},
54 {"gendat", (DL_FUNC) &gendat, 2},
55 {"geneal", (DL_FUNC) &geneal, 1},
56 {"geneal_scale", (DL_FUNC) &genealScaleShift, 3},
57 {"cblv", (DL_FUNC) &cblv, 1},
58 {"parse_cblv", (DL_FUNC) &parse_cblv, 3},
59 {NULL, NULL, 0}
60};
61
62static const R_CallMethodDef extMethods[] = {
63 {"getInfo", (DL_FUNC) &getInfo, -1},
64 {"genealSum", (DL_FUNC) &genealSum, -1},
65 {NULL, NULL, 0}
66};
67
68void R_init_phylopomp (DllInfo *info) {
69 // Register routines
70 R_registerRoutines(info,NULL,callMethods,NULL,extMethods);
71 R_useDynamicSymbols(info,TRUE);
72 // R_useDynamicSymbols(info,FALSE);
73 // R_forceSymbols(info,TRUE);
74 get_userdata = (get_userdata_t*) R_GetCCallable("pomp","get_userdata");
75 get_userdata_double = (get_userdata_double_t*) R_GetCCallable("pomp","get_userdata_double");
76 get_userdata_int = (get_userdata_int_t*) R_GetCCallable("pomp","get_userdata_int");
77}
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:68
static const R_CallMethodDef extMethods[]
Definition init.c:62
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:37
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