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