summaryrefslogtreecommitdiffstats
path: root/src/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/init.c')
-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);
+}