[R-SIG-Mac] R standalone Rmath library - missing log1pexp(), rnbeta()
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Tue Jun 2 11:34:06 CEST 2020
>>>>> William Birkett
>>>>> on Mon, 1 Jun 2020 15:16:07 -0400 writes:
> I built the the standalone Rmath library,
> https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library
> <https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library>
> The build process went smoothly.
> But, there are two functions, log1pexp() and rnbeta(),
> which appear in the header file, and not in
> ‘libRmath.dylib’.
> There is a comment in the header, '// <--
> ../nmath/plogis.c’ next to log1pexp(). That file,
> ‘plogis.c’ contains a function ‘Rf_log1pexp’, which is how
> the function would be named without '#define
> MATHLIB_STANDALONE’.
> The other function, 'rnbeta()’ doesn’t appear in any of
> the source files in the ‘nmath’ folder. Maybe a file is
> missing.
Incidentally (not being an Apple costumer), I've seen this; as
I'm the one who had added log1pexp() (8 years ago), I've been intrigued.
The problems you are seeing are *not* at all related to R on the
Mac. ==> I'm exceptionally crossposting to R-devel.
=======> Please followup there, *not* on R-SIG-mac.
1) An R core colleague of mine had decided log1pexp() should be
Rf_log1pexp() but had forgotten to update the documentation.
This should be fixed one way (= documentation), or then, as
it is the *only* function with name Rf_*() in the whole of standalone
Rmathlib.{so,dynlib} by renaming it back to log1pexp().
2) rnbeta(): This has been in the headers forever, but there has
not been a corresponding function in R's C code.
As you, can see, R's rbeta(*, ncp = v) currently just calls R code,
and so there was never a need for a C level rnbeta(). OTOH,
this is a pity/asymmetry, and I had wanted to change this
(and also add 'rnt' or 'rnf') to the standalone Rmathlib for
a long time. The reason this has not happened (yet?):
Because of vectorization working differently in the current R
code of the r*(*, ncp=*) functions and the corresponding C
code, this would lead to different random numbers in this
case... and so such a change --- to make Rmathlib "complete" ---
is something to be discussed.
Best regards,
Martin Maechler
ETH Zurich and R Core Team
> William B. Birkett ....
> .......irkett using doplganger.com
> [[alternative HTML version deleted]]
More information about the R-SIG-Mac
mailing list