void R_init_splines(DllInfo *dll) { R_registerRoutines(dll, NULL, R_CallDef, NULL, NULL); R_useDynamicSymbols(dll, FALSE); // R_forceSymbols(dll, TRUE); // too few to worry about, used in cobs* }
void R_init_gtools(DllInfo *info) { /* Register C routines */ R_registerRoutines (info, cMethods, NULL, NULL, NULL); R_useDynamicSymbols(info, FALSE); R_forceSymbols (info, TRUE); }
void R_init_xlsReadWrite(DllInfo *dll) { R_registerRoutines(dll, NULL, R_CallDef, NULL, NULL); R_useDynamicSymbols(dll, FALSE); Rprintf(crmsg); Rprintf(cranmsg); }
void R_init_xts(DllInfo *info) { SymbolShortcuts(); R_registerRoutines(info, NULL, callMethods, NULL, externalMethods); R_useDynamicSymbols(info, TRUE); /* used by external packages linking to internal xts code from C */ R_RegisterCCallable("xts","do_is_ordered",(DL_FUNC) &do_is_ordered); R_RegisterCCallable("xts","coredata_xts", (DL_FUNC) &coredata_xts); R_RegisterCCallable("xts","isXts", (DL_FUNC) &isXts); R_RegisterCCallable("xts","tryXts", (DL_FUNC) &tryXts); R_RegisterCCallable("xts","do_rbind_xts", (DL_FUNC) &do_rbind_xts); R_RegisterCCallable("xts","naCheck", (DL_FUNC) &naCheck); R_RegisterCCallable("xts","lagXts", (DL_FUNC) &lagXts); R_RegisterCCallable("xts","make_index_unique", (DL_FUNC) &make_index_unique); R_RegisterCCallable("xts","make_unique", (DL_FUNC) &make_unique); R_RegisterCCallable("xts","endpoints", (DL_FUNC) &endpoints); R_RegisterCCallable("xts","do_merge_xts", (DL_FUNC) &do_merge_xts); R_RegisterCCallable("xts","na_omit_xts", (DL_FUNC) &na_omit_xts); R_RegisterCCallable("xts","na_locf", (DL_FUNC) &na_locf); /* used by xts (functions moved from xts to zoo) */ zoo_lag = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("zoo","zoo_lag"); zoo_coredata = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("zoo","zoo_coredata"); }
void R_init_grid(DllInfo *dll) { /* No .C, .Fortran, or .External routines => NULL */ R_registerRoutines(dll, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(dll, FALSE); }
R_init_graphics(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, ExtEntries); R_useDynamicSymbols(dll, FALSE); R_forceSymbols(dll, TRUE); registerBase(); }
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 }
void R_init_lme4a(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, (Rboolean)FALSE); M_R_cholmod_start(&c); c.final_ll = 1; /* LL' form of simplicial factorization */ }
void attribute_visible R_init_frailtypack(DllInfo *dll) { R_registerRoutines(dll, NULL, NULL, FortEntries, NULL); R_useDynamicSymbols(dll, FALSE); R_forceSymbols(dll, TRUE); }
void R_init_blme(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); M_R_cholmod_start(&cholmodCommon); cholmodCommon.final_ll = 1; /* LL' form of simplicial factorization */ lme4_ASym = install("A"); lme4_CmSym = install("Cm"); lme4_CxSym = install("Cx"); lme4_DimSym = install("Dim"); lme4_GpSym = install("Gp"); lme4_LSym = install("L"); lme4_RXSym = install("RX"); lme4_RZXSym = install("RZX"); lme4_STSym = install("ST"); lme4_VSym = install("V"); lme4_XSym = install("X"); lme4_XstSym = install("Xst"); lme4_ZtSym = install("Zt"); lme4_devianceSym = install("deviance"); lme4_dimsSym = install("dims"); lme4_envSym = install("env"); lme4_etaSym = install("eta"); lme4_fixefSym = install("fixef"); lme4_flistSym = install("flist"); lme4_ghwSym = install("ghw"); lme4_ghxSym = install("ghx"); lme4_gradientSym = install("gradient"); lme4_iSym = install("i"); lme4_ncSym = install("nc"); lme4_nlmodelSym = install("nlmodel"); lme4_muEtaSym = install("muEta"); lme4_muSym = install("mu"); lme4_offsetSym = install("offset"); lme4_pSym = install("p"); lme4_permSym = install("perm"); lme4_pWtSym = install("pWt"); lme4_ranefSym = install("ranef"); lme4_residSym = install("resid"); lme4_sigmaSym = install("sigma"); lme4_sqrtrWtSym = install("sqrtrWt"); lme4_sqrtXWtSym = install("sqrtXWt"); lme4_uSym = install("u"); lme4_varSym = install("var"); lme4_xSym = install("x"); lme4_ySym = install("y"); blme_covariancePriorSym = install("cov.prior"); blme_unmodeledCoefficientPriorSym = install("fixef.prior"); blme_commonScalePriorSym = install("var.prior"); blme_prior_typeSym = install("type"); blme_prior_familiesSym = install("families"); blme_prior_scalesSym = install("scales"); blme_prior_hyperparametersSym = install("hyperparameters"); }
void R_init_causalTree(DllInfo * dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); #if defined(R_VERSION) && R_VERSION >= R_Version(2, 16, 0) R_forceSymbols(dll, TRUE); #endif }
void R_init_myRoutines(DllInfo *info) { /* Register the .Call routines. No .C .Fortran() or .External() routines, so pass those arrays as NULL. */ R_registerRoutines(info, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(info, TRUE); }
void attribute_visible R_init_aster(DllInfo *info) { R_registerRoutines(info, cMethods, callMethods, NULL, NULL); R_useDynamicSymbols(info, FALSE); R_forceSymbols(info, TRUE); R_RegisterCCallable("aster", "aster_mlogl_sat_unco", (DL_FUNC) aster_mlogl_sat_unco); R_RegisterCCallable("aster", "aster_mlogl_sat_cond", (DL_FUNC) aster_mlogl_sat_cond); }
R_init_rgeos(DllInfo *dll) { // SEXP INIT; R_registerRoutines(dll, CEntries, CallEntries, NULL, NULL); // RSB FIXME R_useDynamicSymbols(dll, FALSE); // INIT = rgeos_Init(); }
void attribute_visible R_init_stats(DllInfo *dll) { R_registerRoutines(dll, CEntries, CallEntries, FortEntries, ExtEntries); R_useDynamicSymbols(dll, FALSE); R_forceSymbols(dll, TRUE); R_RegisterCCallable("stats", "nlminb_iterate", (DL_FUNC) nlminb_iterate); R_RegisterCCallable("stats", "nlsb_iterate", (DL_FUNC) nlsb_iterate); R_RegisterCCallable("stats", "Rf_divset", (DL_FUNC) Rf_divset); }
/* returns DllInfo used by the embedding application. the underlying "(embedding)" entry is created if not present */ DllInfo *R_getEmbeddingDllInfo() { DllInfo *dll = R_getDllInfo("(embedding)"); if (dll == NULL) { int which = addDLL(strdup("(embedding)"), "(embedding)", NULL); dll = &LoadedDLL[which]; /* make sure we don't attempt dynamic lookup */ R_useDynamicSymbols(dll, FALSE); } return dll; }
void R_init_networkDynamic(DllInfo *dll) { R_registerRoutines(dll,CEntries,CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); /* Callable functions from other packages' C code */ #define RREGDEF(name) R_RegisterCCallable("network", #name, (DL_FUNC) name) /* Register network functions */ netRegisterFunctions(); }
void R_init_expm(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, FortEntries, NULL); R_useDynamicSymbols(dll, FALSE); /* callable C code from other packages C code :*/ R_RegisterCCallable("expm", "expm", (DL_FUNC) expm); R_RegisterCCallable("matpow", "matpow", (DL_FUNC) matpow); R_RegisterCCallable("expm_eigen", "expm_eigen", (DL_FUNC) expm_eigen); R_RegisterCCallable("logm_eigen", "logm_eigen", (DL_FUNC) logm_eigen); R_RegisterCCallable("matexp_MH09", "matexp_MH09", (DL_FUNC) matexp_MH09); }
void R_init_lme4(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); M_R_cholmod_start(&c); c.final_ll = 1; /* LL' form of simplicial factorization */ /* need own error handler, that resets final_ll (after *_defaults()) : */ c.error_handler = lme4_R_cholmod_error; lme4_ASym = install("A"); lme4_CmSym = install("Cm"); lme4_CxSym = install("Cx"); lme4_DimSym = install("Dim"); lme4_GpSym = install("Gp"); lme4_LSym = install("L"); lme4_RXSym = install("RX"); lme4_RZXSym = install("RZX"); lme4_STSym = install("ST"); lme4_VSym = install("V"); lme4_XSym = install("X"); lme4_XstSym = install("Xst"); lme4_ZtSym = install("Zt"); lme4_devianceSym = install("deviance"); lme4_dimsSym = install("dims"); lme4_envSym = install("env"); lme4_etaSym = install("eta"); lme4_fixefSym = install("fixef"); lme4_flistSym = install("flist"); lme4_ghwSym = install("ghw"); lme4_ghxSym = install("ghx"); lme4_gradientSym = install("gradient"); lme4_iSym = install("i"); lme4_ncSym = install("nc"); lme4_nlmodelSym = install("nlmodel"); lme4_muEtaSym = install("muEta"); lme4_muSym = install("mu"); lme4_offsetSym = install("offset"); lme4_pSym = install("p"); lme4_permSym = install("perm"); lme4_pWtSym = install("pWt"); lme4_ranefSym = install("ranef"); lme4_residSym = install("resid"); lme4_sigmaSym = install("sigma"); lme4_sqrtrWtSym = install("sqrtrWt"); lme4_sqrtXWtSym = install("sqrtXWt"); lme4_uSym = install("u"); lme4_varSym = install("var"); lme4_xSym = install("x"); lme4_ySym = install("y"); }
void R_init_grDevices(DllInfo *dll) { initPalette(); R_registerRoutines(dll, NULL, CallEntries, NULL, ExtEntries); R_useDynamicSymbols(dll, FALSE); R_forceSymbols(dll, TRUE); #ifdef HAVE_AQUA /* R.app will run event loop, so if we are running under that we don't need to run one here */ if(useaqua) setup_RdotApp(); #endif }
void R_init_jiebaR(DllInfo *info) { R_registerRoutines(info, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(info, TRUE); /* used by external packages linking to internal xts code from C */ // v4 // // _RJ(_jiebaR_jiebaclass_ptr) _RJ(_jiebaR_jiebaclass_ptr_v2) _RJ(_jiebaR_jiebaclass_mix_cut) _RJ(_jiebaR_jiebaclass_mp_cut) _RJ(_jiebaR_jiebaclass_hmm_cut) _RJ(_jiebaR_jiebaclass_full_cut) _RJ(_jiebaR_jiebaclass_query_cut) _RJ(_jiebaR_jiebaclass_tag_tag) _RJ(_jiebaR_jiebaclass_tag_file) _RJ(_jiebaR_jiebaclass_tag_vec) _RJ(_jiebaR_add_user_word) _RJ(_jiebaR_u64tobin) // v3 // R_RegisterCCallable("jiebaR", "_jiebaR_file_coding", (DL_FUNC) &_jiebaR_file_coding ); R_RegisterCCallable("jiebaR", "_jiebaR_mp_ptr", (DL_FUNC) &_jiebaR_mp_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_mp_cut", (DL_FUNC) &_jiebaR_mp_cut ); R_RegisterCCallable("jiebaR", "_jiebaR_mix_ptr", (DL_FUNC) &_jiebaR_mix_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_mix_cut", (DL_FUNC) &_jiebaR_mix_cut ); R_RegisterCCallable("jiebaR", "_jiebaR_query_ptr", (DL_FUNC) &_jiebaR_query_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_query_cut", (DL_FUNC) &_jiebaR_query_cut ); R_RegisterCCallable("jiebaR", "_jiebaR_hmm_ptr", (DL_FUNC) &_jiebaR_hmm_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_hmm_cut", (DL_FUNC) &_jiebaR_hmm_cut ); R_RegisterCCallable("jiebaR", "_jiebaR_tag_ptr", (DL_FUNC) &_jiebaR_tag_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_tag_tag", (DL_FUNC) &_jiebaR_tag_tag ); R_RegisterCCallable("jiebaR", "_jiebaR_tag_file", (DL_FUNC) &_jiebaR_tag_file ); R_RegisterCCallable("jiebaR", "_jiebaR_key_ptr", (DL_FUNC) &_jiebaR_key_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_key_tag", (DL_FUNC) &_jiebaR_key_tag ); R_RegisterCCallable("jiebaR", "_jiebaR_key_cut", (DL_FUNC) &_jiebaR_key_cut ); R_RegisterCCallable("jiebaR", "_jiebaR_key_keys", (DL_FUNC) &_jiebaR_key_keys ); R_RegisterCCallable("jiebaR", "_jiebaR_sim_ptr", (DL_FUNC) &_jiebaR_sim_ptr ); R_RegisterCCallable("jiebaR", "_jiebaR_sim_sim", (DL_FUNC) &_jiebaR_sim_sim ); R_RegisterCCallable("jiebaR", "_jiebaR_sim_distance",(DL_FUNC) &_jiebaR_sim_distance ); R_RegisterCCallable("jiebaR", "_jiebaR_words_freq", (DL_FUNC) &_jiebaR_words_freq ); }
void R_init_openssl(DllInfo *info) { R_registerRoutines(info, NULL, NULL, NULL, NULL); R_useDynamicSymbols(info, TRUE); #ifdef _WIN32 WSADATA wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); #endif OpenSSL_add_all_digests(); OpenSSL_add_all_algorithms(); OpenSSL_add_all_ciphers(); ERR_load_crypto_strings(); SSL_load_error_strings(); SSL_library_init(); }
// Initialization function for this shared object void R_init_C50(DllInfo *dll) { // Announce ourselves for testing // Rprintf("R_init_C50 called\n"); // Register the functions "c50" and "predictions" R_registerRoutines(dll, cEntries, NULL, NULL, NULL); // This should help prevent people from accidentally accessing // any of our global variables, or any functions that are not // intended to be called from R. Only the functions "c50" // and "predictions" can be accessed, since they're the only ones // we registered. R_useDynamicSymbols(dll, FALSE); }
// Routine registration (executed at package loading) void attribute_visible R_init_Rgb(DllInfo *info) { // External() calls R_ExternalMethodDef externalMethods[] = { {"track", (DL_FUNC) &track, -1}, {"checktrack", (DL_FUNC) &checktrack, -1}, {NULL, NULL, 0} }; // Register all entry points R_registerRoutines(info, NULL, NULL, NULL, externalMethods); // Prevent access to all non-registered entry points on Linux, except "attribute_visible" ones // Remember to update "src/Rgb-win.def" file for Windows ! R_useDynamicSymbols(info, FALSE); }
void R_init_zoo(DllInfo *info) { R_registerRoutines(info, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(info, TRUE); #define RegisterZoo(routine) R_RegisterCCallable("zoo",#routine,(DL_FUNC) &routine) /* used by external packages linking to internal xts code from C */ R_RegisterCCallable("zoo","zoo_lag",(DL_FUNC) &zoo_lag); R_RegisterCCallable("zoo","zoo_coredata",(DL_FUNC) &zoo_coredata); }
void attribute_visible R_init_rstan(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); // The call to R_useDynamicSymbols indicates that if the correct C // entry point is not found in the shared library, then an error // should be signaled. Currently, the default // behavior in R is to search all other loaded shared libraries for the // symbol, which is fairly dangerous behavior. If you have registered // all routines in your library, then you should set this to FALSE // as done in the stats package. [copied from `R Programming for // Bioinformatics' // by Robert Gentleman] #if defined(R_VERSION) && R_VERSION >= R_Version(2, 16, 0) R_forceSymbols(dll, TRUE); // copied from package stats, don't know what it does. #endif }
extern "C" void R_init_smoothSurv(DllInfo *dll){ R_registerRoutines(dll, Centries, NULL, NULL, NULL); /* .C .Call .Fortran .External /* The following line makes only those routines defined above available to outside packages, i.e., internal C++ things are now invisible. */ R_useDynamicSymbols(dll, FALSE); /* ** This line makes them only be available via the symbols above ** i.e., .C("bayesBisurvreg", ) won't work but .C(C_bayesBisurvreg, ) will */ R_forceSymbols(dll, TRUE); }
void R_init_survival(DllInfo *dll){ R_registerRoutines(dll, Centries, Callentries, NULL, NULL); /* The following line makes only those routines defined above available to outside packages, i.e., internal things like dmatrix() are now invisible. */ R_useDynamicSymbols(dll, FALSE); /* ** This line makes them only be available via the symbols above ** i.e., .Call("tmerge", ) won't work but .Call(Ctmerge, ) will ** This feature was added in version 2.16 */ #if defined(R_VERSION) && R_VERSION >= R_Version(2, 16, 0) R_forceSymbols(dll, TRUE); #endif }
void R_init_cubature(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); R_RegisterCCallable("cubature", "adapt_integrate", (DL_FUNC) hcubature); R_RegisterCCallable("cubature", "adapt_integrate_v", (DL_FUNC) hcubature_v); R_RegisterCCallable("cubature", "hcubature", (DL_FUNC) hcubature); R_RegisterCCallable("cubature", "hcubature_v", (DL_FUNC) hcubature_v); R_RegisterCCallable("cubature", "pcubature", (DL_FUNC) pcubature); R_RegisterCCallable("cubature", "pcubature_v", (DL_FUNC) pcubature_v); /* For future if people need it */ /* R_RegisterCCallable("cubature", "Cuhre", (DL_FUNC) Cuhre); */ /* R_RegisterCCallable("cubature", "Divonne", (DL_FUNC) Divonne); */ /* R_RegisterCCallable("cubature", "Suave", (DL_FUNC) Suave); */ /* R_RegisterCCallable("cubature", "Vegas", (DL_FUNC) Vegas); */ }
void attribute_visible R_init_datatable(DllInfo *info) // relies on pkg/src/Makevars to mv data.table.so to datatable.so { R_registerRoutines(info, NULL, callMethods, NULL, externalMethods); R_useDynamicSymbols(info, FALSE); setSizes(); const char *msg = "... failed. Please forward this message to maintainer('data.table') or datatable-help."; if (NA_INTEGER != INT_MIN) error("Checking NA_INTEGER [%d] == INT_MIN [%d] %s", NA_INTEGER, INT_MIN, msg); if (NA_INTEGER != NA_LOGICAL) error("Checking NA_INTEGER [%d] == NA_LOGICAL [%d] %s", NA_INTEGER, NA_LOGICAL, msg); if (sizeof(int) != 4) error("Checking sizeof(int) [%d] is 4 %s", sizeof(int), msg); if (sizeof(double) != 8) error("Checking sizeof(double) [%d] is 8 %s", sizeof(double), msg); // 8 on both 32bit and 64bit. if (sizeof(long long) != 8) error("Checking sizeof(long long) [%d] is 8 %s", sizeof(long long), msg); if (sizeof(char *) != 4 && sizeof(char *) != 8) error("Checking sizeof(pointer) [%d] is 4 or 8 %s", sizeof(char *), msg); if (sizeof(SEXP) != sizeof(char *)) error("Checking sizeof(SEXP) [%d] == sizeof(pointer) [%d] %s", sizeof(SEXP), sizeof(char *), msg); SEXP tmp = PROTECT(allocVector(INTSXP,2)); if (LENGTH(tmp)!=2) error("Checking LENGTH(allocVector(INTSXP,2)) [%d] is 2 %s", LENGTH(tmp), msg); if (TRUELENGTH(tmp)!=0) error("Checking TRUELENGTH(allocVector(INTSXP,2)) [%d] is 0 %s", TRUELENGTH(tmp), msg); UNPROTECT(1); // According to IEEE (http://en.wikipedia.org/wiki/IEEE_754-1985#Zero) we can rely on 0.0 being all 0 bits. // But check here anyway just to be sure, just in case this answer is right (http://stackoverflow.com/a/2952680/403310). int i = 314; memset(&i, 0, sizeof(int)); if (i != 0) error("Checking memset(&i,0,sizeof(int)); i == (int)0 %s", msg); unsigned int ui = 314; memset(&ui, 0, sizeof(unsigned int)); if (ui != 0) error("Checking memset(&ui, 0, sizeof(unsigned int)); ui == (unsigned int)0 %s", msg); double d = 3.14; memset(&d, 0, sizeof(double)); if (d != 0.0) error("Checking memset(&d, 0, sizeof(double)); d == (double)0.0 %s", msg); long double ld = 3.14; memset(&ld, 0, sizeof(long double)); if (ld != 0.0) error("Checking memset(&ld, 0, sizeof(long double)); ld == (long double)0.0 %s", msg); setNumericRounding(ScalarInteger(2)); char_integer64 = mkChar("integer64"); // for speed, similar to R_*Symbol. }