summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2017-04-27 12:39:24 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2017-04-27 13:10:26 -0400
commit25a3a7a3a6d22e0c5eb46ac920c666cda5fcbdc5 (patch)
tree349c749c167b1fe296a5003643dc002e17a4d358 /src
parent196f5f731611336721208eff52e980a404c0a701 (diff)
downloadlossdistrib-25a3a7a3a6d22e0c5eb46ac920c666cda5fcbdc5.tar.gz
register routines
Diffstat (limited to 'src')
-rw-r--r--src/init.c40
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);
+}