[R-pkg-devel] User defined RNG and code registration.
Ivan Krylov
kry|ov@r00t @end|ng |rom gm@||@com
Sat Sep 23 21:30:31 CEST 2023
В Sat, 23 Sep 2023 08:42:25 +0000
Ralf Stubner <ralf.stubner using gmail.com> пишет:
> ?Random.user describes a way to hook a user- defined
> RNG into R. However, it looks like these two things are not
> compatible, i.e. `user_unif_rand` et al. are not found, if dynamic
> symbols are not allowed.
You're right! Looking at the code, if R_useDynamicSymbols(dll, FALSE)
has been called for a DLL, the branch that calls dlsym() or
GetProcAddress() to find symbols from that library by their shared
object symbol names gets completely disabled; only the registered
function names known to R matter at this point.
> Or can one register these routines somehow even though they are not
> following one of the standard calling conventions?
It sounds unsatisfying, but if you register your user_unif_rand
function with the right name and any of the ABIs supported by R, it
sounds like it should work as long as you never call it using the
.Call/.C/.Fortran ABI it's registered for.
--
Best regards,
Ivan
More information about the R-package-devel
mailing list