update
[morpheus.git] / pkg / src / morpheus_init.c
1 #include <stdlib.h> // for NULL
2 #include <R_ext/Rdynload.h>
3
4 /* FIXME:
5 Check these declarations against the C/Fortran source code.
6 */
7
8 /* .C calls */
9 extern void hungarianAlgorithm(void*, void*, void*);
10 extern void Moments_M2(void*, void*, void*, void*, void*);
11 extern void Moments_M3(void*, void*, void*, void*, void*);
12 extern void Compute_Omega(void*, void*, void*, void*, void*, void*, void*);
13
14 static const R_CMethodDef CEntries[] = {
15 {"hungarianAlgorithm", (DL_FUNC) &hungarianAlgorithm, 3},
16 {"Moments_M2", (DL_FUNC) &Moments_M2, 5},
17 {"Moments_M3", (DL_FUNC) &Moments_M3, 5},
18 {"Compute_Omega", (DL_FUNC) &Compute_Omega, 7},
19 {NULL, NULL, 0}
20 };
21
22 void R_init_morpheus(DllInfo *dll)
23 {
24 R_registerRoutines(dll, CEntries, NULL, NULL, NULL);
25 R_useDynamicSymbols(dll, FALSE);
26 }
27