pomp
Inference for partially observed Markov processes
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
init.c
Go to the documentation of this file.
1#include "internal.h"
2#include <R_ext/Rdynload.h>
3
4static const R_CallMethodDef callMethods[] = {
5 {"set_userdata", (DL_FUNC) &set_pomp_userdata, 1},
6 {"logmeanexp", (DL_FUNC) &logmeanexp, 2},
7 {"bspline_basis", (DL_FUNC) &bspline_basis, 5},
8 {"periodic_bspline_basis", (DL_FUNC) &periodic_bspline_basis, 5},
9 {"systematic_resampling", (DL_FUNC) &systematic_resampling, 2},
10 {"lookup_in_table", (DL_FUNC) &lookup_in_table, 2},
11 {"load_stack_incr", (DL_FUNC) &load_stack_incr, 1},
12 {"load_stack_decr", (DL_FUNC) &load_stack_decr, 1},
13 {"R_Euler_Multinom", (DL_FUNC) &R_Euler_Multinom, 4},
14 {"D_Euler_Multinom", (DL_FUNC) &D_Euler_Multinom, 5},
15 {"E_Euler_Multinom", (DL_FUNC) &E_Euler_Multinom, 3},
16 {"R_GammaWN", (DL_FUNC) &R_GammaWN, 3},
17 {"R_BetaBinom", (DL_FUNC) &R_BetaBinom, 4},
18 {"D_BetaBinom", (DL_FUNC) &D_BetaBinom, 5},
19 {"pfilter_computations", (DL_FUNC) &pfilter, 10},
20 {"wpfilter_comps", (DL_FUNC) &wpfilter, 7},
21 {"randwalk_perturbation", (DL_FUNC) &randwalk_perturbation, 2},
22 {"do_simulate", (DL_FUNC) &do_simulate, 5},
23 {"iterate_map", (DL_FUNC) &iterate_map, 6},
24 {"pomp_desolve_setup", (DL_FUNC) &pomp_desolve_setup, 4},
25 {"pomp_desolve_takedown", (DL_FUNC) &pomp_desolve_takedown, 0},
26 {"apply_probe_data", (DL_FUNC) &apply_probe_data, 2},
27 {"apply_probe_sim", (DL_FUNC) &apply_probe_sim, 6},
28 {"probe_marginal_setup", (DL_FUNC) &probe_marginal_setup, 3},
29 {"probe_marginal_solve", (DL_FUNC) &probe_marginal_solve, 3},
30 {"probe_acf", (DL_FUNC) &probe_acf, 3},
31 {"probe_ccf", (DL_FUNC) &probe_ccf, 4},
32 {"probe_nlar", (DL_FUNC) &probe_nlar, 3},
33 {"synth_loglik", (DL_FUNC) &synth_loglik, 2},
34 {"sobol_sequence", (DL_FUNC) &sobol_sequence, 2},
35 {"do_partrans", (DL_FUNC) &do_partrans, 4},
36 {"do_rprocess", (DL_FUNC) &do_rprocess, 6},
37 {"do_dprocess", (DL_FUNC) &do_dprocess, 6},
38 {"do_rmeasure", (DL_FUNC) &do_rmeasure, 5},
39 {"do_dmeasure", (DL_FUNC) &do_dmeasure, 7},
40 {"do_emeasure", (DL_FUNC) &do_emeasure, 5},
41 {"do_vmeasure", (DL_FUNC) &do_vmeasure, 5},
42 {"do_rprior", (DL_FUNC) &do_rprior, 3},
43 {"do_dprior", (DL_FUNC) &do_dprior, 4},
44 {"do_skeleton", (DL_FUNC) &do_skeleton, 5},
45 {"do_rinit", (DL_FUNC) &do_rinit, 5},
46 {"do_dinit", (DL_FUNC) &do_dinit, 6},
47 {"LogitTransform", (DL_FUNC) &LogitTransform, 1},
48 {"ExpitTransform", (DL_FUNC) &ExpitTransform, 1},
49 {"LogBarycentricTransform", (DL_FUNC) &LogBarycentricTransform, 1},
50 {"InverseLogBarycentricTransform", (DL_FUNC) &InverseLogBarycentricTransform, 1},
51 {NULL, NULL, 0}
52};
53
54void R_init_pomp (DllInfo *info) {
55 // C functions provided for users
56 R_RegisterCCallable("pomp","bspline_basis_eval_deriv",(DL_FUNC) &bspline_basis_eval_deriv);
57 R_RegisterCCallable("pomp","periodic_bspline_basis_eval_deriv",(DL_FUNC) &periodic_bspline_basis_eval_deriv);
58 R_RegisterCCallable("pomp","get_userdata",(DL_FUNC) &get_userdata);
59 R_RegisterCCallable("pomp","get_userdata_int",(DL_FUNC) &get_userdata_int);
60 R_RegisterCCallable("pomp","get_userdata_double",(DL_FUNC) &get_userdata_double);
61 R_RegisterCCallable("pomp","pomp_fun_handler",(DL_FUNC) &pomp_fun_handler);
62 R_RegisterCCallable("pomp","load_stack_incr",(DL_FUNC) &load_stack_incr);
63 R_RegisterCCallable("pomp","load_stack_decr",(DL_FUNC) &load_stack_decr);
64 R_RegisterCCallable("pomp","make_covariate_table",(DL_FUNC) &make_covariate_table);
65 R_RegisterCCallable("pomp","get_covariate_names",(DL_FUNC) &get_covariate_names);
66 R_RegisterCCallable("pomp","table_lookup",(DL_FUNC) &table_lookup);
67 R_RegisterCCallable("pomp","lookup_in_table",(DL_FUNC) &lookup_in_table);
68 R_RegisterCCallable("pomp","apply_probe_data",(DL_FUNC) &apply_probe_data);
69 R_RegisterCCallable("pomp","apply_probe_sim",(DL_FUNC) &apply_probe_sim);
70 R_RegisterCCallable("pomp","systematic_resampling",(DL_FUNC) &systematic_resampling);
71 R_RegisterCCallable("pomp","randwalk_perturbation", (DL_FUNC) &randwalk_perturbation);
72
73 // Register routines
74 R_registerRoutines(info,NULL,callMethods,NULL,NULL);
75 R_useDynamicSymbols(info,TRUE);
76 R_forceSymbols(info,FALSE);
77}
void periodic_bspline_basis_eval_deriv(double x, double period, int degree, int nbasis, int deriv, double *y)
Definition bspline.c:122
SEXP periodic_bspline_basis(SEXP x, SEXP nbasis, SEXP degree, SEXP period, SEXP deriv)
Definition bspline.c:85
SEXP bspline_basis(SEXP range, SEXP x, SEXP nbasis, SEXP degree, SEXP deriv)
Definition bspline.c:51
void bspline_basis_eval_deriv(double x, double *knots, int degree, int nbasis, int deriv, double *y)
Definition bspline.c:115
SEXP logmeanexp(const SEXP, const SEXP)
Definition logmeanexp.c:7
SEXP R_GammaWN(SEXP, SEXP, SEXP)
SEXP randwalk_perturbation(SEXP, SEXP)
Definition mif2.c:6
const SEXP get_userdata(const char *)
Definition userdata.c:13
SEXP do_rmeasure(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition rmeasure.c:98
SEXP load_stack_decr(SEXP)
Definition pomp_fun.c:130
SEXP iterate_map(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition trajectory.c:19
SEXP wpfilter(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition wpfilter.c:10
SEXP do_dprior(SEXP, SEXP, SEXP, SEXP)
Definition dprior.c:51
const double * get_userdata_double(const char *)
Definition userdata.c:26
SEXP apply_probe_sim(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition probe.c:29
SEXP R_BetaBinom(SEXP, SEXP, SEXP, SEXP)
const int * get_userdata_int(const char *)
Definition userdata.c:19
SEXP InverseLogBarycentricTransform(SEXP)
SEXP LogitTransform(SEXP)
SEXP R_Euler_Multinom(SEXP, SEXP, SEXP, SEXP)
SEXP E_Euler_Multinom(SEXP, SEXP, SEXP)
SEXP do_dinit(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition dinit.c:221
SEXP ExpitTransform(SEXP)
SEXP do_dprocess(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition dprocess.c:273
SEXP D_BetaBinom(SEXP, SEXP, SEXP, SEXP, SEXP)
lookup_table_t make_covariate_table(SEXP, int *)
SEXP load_stack_incr(SEXP)
Definition pomp_fun.c:121
SEXP sobol_sequence(SEXP, SEXP)
Definition sobolseq.c:234
SEXP apply_probe_data(SEXP, SEXP)
Definition probe.c:4
SEXP do_dmeasure(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition dmeasure.c:111
SEXP LogBarycentricTransform(SEXP)
SEXP probe_marginal_setup(SEXP, SEXP, SEXP)
SEXP systematic_resampling(SEXP, SEXP)
Definition resample.c:9
SEXP probe_ccf(SEXP, SEXP, SEXP, SEXP)
Definition probe_acf.c:145
SEXP do_vmeasure(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition vmeasure.c:99
SEXP D_Euler_Multinom(SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP pomp_desolve_setup(SEXP, SEXP, SEXP, SEXP)
Definition trajectory.c:156
SEXP do_simulate(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition simulate.c:6
SEXP probe_nlar(SEXP, SEXP, SEXP)
Definition probe_nlar.c:9
SEXP do_rinit(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition rinit.c:91
SEXP do_partrans(SEXP, SEXP, SEXP, SEXP)
Definition partrans.c:49
SEXP synth_loglik(SEXP, SEXP)
Definition synth_lik.c:104
SEXP do_rprior(SEXP, SEXP, SEXP)
Definition rprior.c:58
SEXP probe_acf(SEXP, SEXP, SEXP)
Definition probe_acf.c:100
SEXP pfilter(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition pfilter.c:16
SEXP pomp_desolve_takedown(void)
Definition trajectory.c:292
SEXP do_emeasure(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition emeasure.c:98
SEXP set_pomp_userdata(SEXP)
Definition userdata.c:8
SEXP pomp_fun_handler(SEXP, SEXP, pompfunmode *, SEXP, SEXP, SEXP, SEXP)
Definition pomp_fun.c:30
void table_lookup(lookup_table_t *, double, double *)
SEXP get_covariate_names(SEXP)
Definition lookup_table.c:7
SEXP do_skeleton(SEXP, SEXP, SEXP, SEXP, SEXP)
Definition skeleton.c:326
SEXP do_rprocess(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
Definition rprocess.c:25
SEXP probe_marginal_solve(SEXP, SEXP, SEXP)
SEXP lookup_in_table(SEXP, SEXP)
static const R_CallMethodDef callMethods[]
Definition init.c:4
void R_init_pomp(DllInfo *info)
Definition init.c:54