From 25a3a7a3a6d22e0c5eb46ac920c666cda5fcbdc5 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Thu, 27 Apr 2017 12:39:24 -0400 Subject: register routines --- src/init.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/init.c (limited to 'src/init.c') diff --git a/src/init.c b/src/init.c new file mode 100644 index 0000000..a208b9e --- /dev/null +++ b/src/init.c @@ -0,0 +1,40 @@ +#include // for NULL +#include + +/* FIXME: + Check these declarations against the C/Fortran source code. +*/ + +/* .C calls */ +extern void BCloss_recov_dist(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); +extern void BCloss_recov_trunc(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); +extern void exp_trunc(void *, void *, void *, void *, void *, void *, void *); +extern void fitprob(void *, void *, void *, void *, void *, void *); +extern void GHquad(void *, void *, void *); +extern void lossdistrib(void *, void *, void *, void *, void *, void *, void *, void *); +extern void lossdistrib_joint(void *, void *, void *, void *, void *, void *, void *, void *); +extern void lossdistrib_joint_Z(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); +extern void lossdistrib_Z(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); +extern void recovdist(void *, void *, void *, void *, void *, void *, void *); +extern void stochasticrecov(void *, void *, void *, void *, void *, void *, void *, void *, void *); + +static const R_CMethodDef CEntries[] = { + {"BCloss_recov_dist", (DL_FUNC) &BCloss_recov_dist, 13}, + {"BCloss_recov_trunc", (DL_FUNC) &BCloss_recov_trunc, 14}, + {"exp_trunc", (DL_FUNC) &exp_trunc, 7}, + {"fitprob", (DL_FUNC) &fitprob, 6}, + {"GHquad", (DL_FUNC) &GHquad, 3}, + {"lossdistrib", (DL_FUNC) &lossdistrib, 8}, + {"lossdistrib_joint", (DL_FUNC) &lossdistrib_joint, 8}, + {"lossdistrib_joint_Z", (DL_FUNC) &lossdistrib_joint_Z, 12}, + {"lossdistrib_Z", (DL_FUNC) &lossdistrib_Z, 10}, + {"recovdist", (DL_FUNC) &recovdist, 7}, + {"stochasticrecov", (DL_FUNC) &stochasticrecov, 9}, + {NULL, NULL, 0} +}; + +void R_init_lossdistrib(DllInfo *dll) +{ + R_registerRoutines(dll, CEntries, NULL, NULL, NULL); + R_useDynamicSymbols(dll, FALSE); +} -- cgit v1.2.3-70-g09d2