#define CALLDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_CallMethodDef CallEntries[] = { CALLDEF(C_contourDef, 0), CALLDEF(C_StemLeaf, 4), CALLDEF(C_BinCount, 4), CALLDEF(RunregisterBase, 0), {NULL, NULL, 0} }; #define EXTDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_ExternalMethodDef ExtEntries[] = { EXTDEF(C_contour, -1), EXTDEF(C_filledcontour, 5), EXTDEF(C_image, 4), EXTDEF(C_persp, -1), EXTDEF(C_abline, -1), EXTDEF(C_axis, -1), EXTDEF(C_arrows, -1), EXTDEF(C_box, -1), EXTDEF(C_clip, -1), EXTDEF(C_convertX, 3), EXTDEF(C_convertY, 3), EXTDEF(C_dend, -1), EXTDEF(C_dendwindow, -1), EXTDEF(C_erase, -1), EXTDEF(C_layout, -1),
CALLDEF(bmVersion, 0), #ifndef _WIN32 CALLDEF(makeQuartzDefault, 0), CALLDEF(cairoProps, 1), #else CALLDEF(bringToTop, 2), CALLDEF(msgWindow, 2), #endif {NULL, NULL, 0} }; #define EXTDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_ExternalMethodDef ExtEntries[] = { EXTDEF(PicTeX, 6), EXTDEF(PostScript, 19), EXTDEF(XFig, 14), EXTDEF(PDF, 20), EXTDEF(devCairo, 10), EXTDEF(devcap, 0), EXTDEF(devcapture, 1), EXTDEF(devcontrol, 1), EXTDEF(devcopy, 1), EXTDEF(devcur, 0), EXTDEF(devdisplaylist, 0), EXTDEF(devholdflush, 1), EXTDEF(devnext, 1), EXTDEF(devoff, 1), EXTDEF(devprev, 1), EXTDEF(devset, 1),
/* #ifndef WIN32 CALLDEF(makeQuartzDefault, 0), CALLDEF(cairoProps, 1), #endif */ {NULL, NULL, 0} }; #define EXTDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_ExternalMethodDef ExtEntries[] = { /* EXTDEF(PicTeX, 6), */ EXTDEF(PostScript, 16), /* EXTDEF(XFig, 11), */ EXTDEF(PDF, 16), /* #ifdef WIN32 EXTDEF(devga, 17), EXTDEF(savePlot, 3), #else EXTDEF(Quartz, 12), #endif */ {NULL, NULL, 0} };
static const R_CallMethodDef CallEntries[] = { CALLDEF(Rdbfread, 1), CALLDEF(DoWritedbf, 5), CALLDEF(read_mtp, 1), CALLDEF(readSystat, 1), CALLDEF(do_read_SPSS, 1), CALLDEF(xport_info, 1), CALLDEF(xport_read, 2), {NULL, NULL, 0} }; #define EXTDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_ExternalMethodDef ExtEntries[] = { EXTDEF(do_readStata, 1), EXTDEF(do_writeStata, 4), {NULL, NULL, 0} }; #include <Rversion.h> void R_init_foreign(DllInfo *dll) { R_registerRoutines(dll, CEntries, CallEntries, NULL, ExtEntries); R_useDynamicSymbols(dll, FALSE); #if defined(R_VERSION) && R_VERSION >= R_Version(3, 0, 0) R_forceSymbols(dll, TRUE); #endif }
CALLDEF(Module__get_function, 2), CALLDEF(get_rcpp_cache,0), CALLDEF(rcpp_error_recorder,1), CALLDEF(as_character_externalptr,1), CALLDEF(CppField__get,3), CALLDEF(CppField__set,4), CALLDEF(rcpp_capabilities,0), CALLDEF(rcpp_can_use_cxx0x,0), {NULL, NULL, 0} }; static R_ExternalMethodDef extEntries[] = { EXTDEF(CppMethod__invoke), EXTDEF(CppMethod__invoke_void), EXTDEF(CppMethod__invoke_notvoid), EXTDEF(InternalFunction_invoke), EXTDEF(Module__invoke), EXTDEF(class__newInstance), EXTDEF(class__dummyInstance), {NULL, NULL, 0} } ; // this is called by R_init_Rcpp that is in Module.cpp void init_Rcpp_routines(DllInfo *info){ /* Register routines, allocate resources. */ R_registerRoutines(info, NULL /* .C*/,
{"setsmu", (DL_FUNC) &F77_SUB(setsmu), 0}, {"rbart", (DL_FUNC) &F77_SUB(rbart), 20}, {"bvalus", (DL_FUNC) &F77_SUB(bvalus), 7}, {"supsmu", (DL_FUNC) &F77_SUB(supsmu), 10}, {"hclust", (DL_FUNC) &F77_SUB(hclust), 11}, {"hcass2", (DL_FUNC) &F77_SUB(hcass2), 6}, {"kmns", (DL_FUNC) &F77_SUB(kmns), 17}, {"eureka", (DL_FUNC) &F77_SUB(eureka), 6}, {"stl", (DL_FUNC) &F77_SUB(stl), 18}, {NULL, NULL, 0} }; #define EXTDEF(name, n) {#name, (DL_FUNC) &name, n} // These argument counts are not checked static const R_ExternalMethodDef ExtEntries[] = { EXTDEF(compcases, -1), EXTDEF(doD, 2), EXTDEF(deriv, 5), EXTDEF(modelframe, 8), EXTDEF(modelmatrix, 2), EXTDEF(termsform, 5), EXTDEF(do_fmin, 4), EXTDEF(nlm, 11), EXTDEF(zeroin2, 7), EXTDEF(optim, 7), EXTDEF(optimhess, 4), EXTDEF(call_dqags, 7), EXTDEF(call_dqagi, 7), {"signrank_free", (DL_FUNC) &stats_signrank_free, 0}, {"wilcox_free", (DL_FUNC) &stats_wilcox_free, 0},
CALLDEF(inv_permutation, 3), CALLDEF(m_encodeInd, 3), CALLDEF(m_encodeInd2, 4), CALLDEF(Matrix_rle_i, 2), CALLDEF(Matrix_rle_d, 2), CALLDEF(R_set_factors, 3), CALLDEF(get_SuiteSparse_version, 0), {NULL, NULL, 0} }; static const R_ExternalMethodDef ExtEntries[] = { EXTDEF(Mmatrix, 7), {NULL, NULL, 0} }; void #ifdef HAVE_VISIBILITY_ATTRIBUTE __attribute__ ((visibility ("default"))) #endif R_init_Matrix(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, ExtEntries); R_useDynamicSymbols(dll, FALSE); /* These are callable from other packages' C code: */ #define RREGDEF(name) R_RegisterCCallable("Matrix", #name, (DL_FUNC) name)