[Genabel-commits] r2071 - in pkg/MultiABEL: . src

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jun 15 17:35:21 CEST 2017


Author: shenxia
Date: 2017-06-15 17:35:20 +0200 (Thu, 15 Jun 2017)
New Revision: 2071

Added:
   pkg/MultiABEL/src/MultiABEL_init.c
Modified:
   pkg/MultiABEL/NAMESPACE
Log:
Fix CRAN registerRoutine etc

Modified: pkg/MultiABEL/NAMESPACE
===================================================================
--- pkg/MultiABEL/NAMESPACE	2017-06-14 22:56:27 UTC (rev 2070)
+++ pkg/MultiABEL/NAMESPACE	2017-06-15 15:35:20 UTC (rev 2071)
@@ -4,4 +4,5 @@
 importFrom("utils", "packageDescription", "read.table", "write.table")
 import("svMisc", "data.table")
 export("Multivariate", "MultiRep", "MultiMeta", "MultiLoad","load.summary", "MultiSummary")
-exportClasses("multi.summary", "multi.loaded")
\ No newline at end of file
+exportClasses("multi.summary", "multi.loaded")
+useDynLib(MultiABEL, .registration = TRUE)
\ No newline at end of file

Added: pkg/MultiABEL/src/MultiABEL_init.c
===================================================================
--- pkg/MultiABEL/src/MultiABEL_init.c	                        (rev 0)
+++ pkg/MultiABEL/src/MultiABEL_init.c	2017-06-15 15:35:20 UTC (rev 2071)
@@ -0,0 +1,36 @@
+#include <R_ext/RS.h>
+#include <stdlib.h> // for NULL
+#include <R_ext/Rdynload.h>
+
+/*
+ The following name(s) appear with different usages
+ e.g., with different numbers of arguments:
+ 
+ MultiSummaryLoopPrecise
+ 
+ This needs to be resolved in the tables and any declarations.
+*/
+
+/* FIXME:
+ Check these declarations against the C/Fortran source code.
+*/
+
+/* .Fortran calls */
+extern void F77_NAME(multisummaryloop)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *);
+				      extern void F77_NAME(multisummaryloopdirect)(void *, void *, void *, void *, void *, void *, void *);
+										  extern void F77_NAME(multisummaryloopinbred)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *);
+															      extern void F77_NAME(multisummaryloopprecise)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *);
+
+																					   static const R_FortranMethodDef FortranEntries[] = {
+																					     {"multisummaryloop",        (DL_FUNC) &F77_NAME(multisummaryloop),        16},
+																					     {"multisummaryloopdirect",  (DL_FUNC) &F77_NAME(multisummaryloopdirect),   7},
+																					     {"multisummaryloopinbred",  (DL_FUNC) &F77_NAME(multisummaryloopinbred),  16},
+																					     {"multisummaryloopprecise", (DL_FUNC) &F77_NAME(multisummaryloopprecise), 16},
+																					     {NULL, NULL, 0}
+																					   };
+
+void R_init_MultiABEL(DllInfo *dll)
+{
+  R_registerRoutines(dll, NULL, NULL, FortranEntries, NULL);
+  R_useDynamicSymbols(dll, FALSE);
+}



More information about the Genabel-commits mailing list