[R] Viewing function source
Thomas Lumley
tlumley at u.washington.edu
Tue Aug 26 19:07:01 CEST 2003
On Tue, 26 Aug 2003, Paul Meagher wrote:
> I know I should probably RTFM for this question, but could someone tell me
> if R supports the idea of "viewing source" on any particular function you
> want to use?
>
> If I want to "view source" on the rpois() function, for example, can I do
> somethink like:
>
> source(rpois)
>
> To see how the function is implemented?
It's even simpler in most cases, but you have picked an especially
complicated example
Just type the name of the function to see the R code
> rpois
function (n, lambda)
.Internal(rpois(n, lambda))
But in this case it tells you that rpois is implemented in C code :(
By convention, it is likely to be a function called do_rpois,
however in this case we have an exception to the convention. You can
look in src/main.names.c for the name of the C function.
abacus% fgrep rpois names.c
{"rpois", do_random1, 3, 11, 2, {PP_FUNCALL,
PREC_FN,0}},
so the function do_random1 is actually involved. If you grep for that, you
are directed to src/main/random.c and you will eventually find that the
underlying code is in src/nmath/rpois.c and is commented with a reference
to the ACM Transactions on Mathematical Software.
-thomas
More information about the R-help
mailing list