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 newick (SEXP, SEXP);
11SEXP getInfo (SEXP);
12SEXP genealSum (SEXP);
13SEXP curtail (SEXP, SEXP, SEXP);
14SEXP yaml (SEXP);
15SEXP gendat (SEXP, SEXP);
16SEXP geneal (SEXP);
17
18// for each model, there must be
19// one DECLARATIONS line and one METHODS line.
20
28DECLARATIONS(Strains);
29DECLARATIONS(TwoSpecies);
30DECLARATIONS(TwoUndead);
31
32static const R_CallMethodDef callMethods[] = {
33 METHODS(LBDP),
34 METHODS(Moran),
35 METHODS(S2I2R2),
36 METHODS(SEIR),
37 METHODS(SI2R),
38 METHODS(SIIR),
39 METHODS(SIR),
40 METHODS(Strains),
41 METHODS(TwoSpecies),
42 METHODS(TwoUndead),
43 {"parse_newick", (DL_FUNC) &parse_newick, 3},
44 {"newick", (DL_FUNC) &newick, 2},
45 {"curtail", (DL_FUNC) &curtail, 3},
46 {"yaml", (DL_FUNC) &yaml, 1},
47 {"gendat", (DL_FUNC) &gendat, 2},
48 {"geneal", (DL_FUNC) &geneal, 1},
49 {NULL, NULL, 0}
50};
51
52static const R_CallMethodDef extMethods[] = {
53 {"getInfo", (DL_FUNC) &getInfo, -1},
54 {"genealSum", (DL_FUNC) &genealSum, -1},
55 {NULL, NULL, 0}
56};
57
58void R_init_phylopomp (DllInfo *info) {
59 // Register routines
60 R_registerRoutines(info,NULL,callMethods,NULL,extMethods);
61 R_useDynamicSymbols(info,TRUE);
62 // R_useDynamicSymbols(info,FALSE);
63 // R_forceSymbols(info,TRUE);
64 get_userdata = (get_userdata_t*) R_GetCCallable("pomp","get_userdata");
65 get_userdata_double = (get_userdata_double_t*) R_GetCCallable("pomp","get_userdata_double");
66 get_userdata_int = (get_userdata_int_t*) R_GetCCallable("pomp","get_userdata_int");
67}
SEXP curtail(SEXP State, SEXP Time, SEXP Troot)
curtail the given genealogy
Definition curtail.cc:88
SEXP gendat(SEXP State, SEXP Obscure)
data-frame format
Definition gendat.cc:104
SEXP geneal(SEXP State)
extract the bare genealogy
Definition geneal.cc:12
SEXP yaml(const TYPE &X)
human/machine readable output
Definition generics.h:43
SEXP newick(const TYPE &X, bool extended)
tree in newick format
Definition generics.h:55
SEXP getInfo(SEXP args)
Definition getinfo.cc:19
SEXP curtail(SEXP, SEXP, SEXP)
curtail the given genealogy
Definition curtail.cc:88
void R_init_phylopomp(DllInfo *info)
Definition init.c:58
static const R_CallMethodDef extMethods[]
Definition init.c:52
SEXP genealSum(SEXP)
combine genealogies
Definition sum.cc:50
SEXP parse_newick(SEXP, SEXP, SEXP)
Definition parse.cc:236
SEXP newick(SEXP, SEXP)
tree in newick format
Definition newick.cc:102
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:32
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:12
#define METHODS(X)
Definition init.h:13
#define DECLARATIONS(X)
Definition init.h:7