diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/init.c | 40 |
1 files changed, 40 insertions, 0 deletions
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 <stdlib.h> // for NULL +#include <R_ext/Rdynload.h> + +/* 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); +} |
