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