Dirk Eddelbuettel
2012-Sep-03 15:58 UTC
[Rd] [Patch] Minor glitch in 'Writing R Extensions'
The (marked up in info mode) manual Writing R Extensions says in 6.1.3 -- Function: double fprec (double X, double DIGITS) Returns the value of X rounded to DIGITS decimal digits (after the decimal point). This is the function used by R's `round()'. ^^^^^^^^^^ -- Function: double fround (double X, double DIGITS) Returns the value of X rounded to DIGITS _significant_ decimal digits. This is the function used by R's `signif()'. ^^^^^^^^^^^ I think that is crossed vis-a-vis the the corresponding R functions, ie 'double fprec is used by 'signif (not round) 'double fround' is used by 'round' (not signif) as I just found out by trying to unit-test wrappers just added to Rcpp. Sources seem to agree -- src/main/arithmetic.c has case 10001: return Math2(args, fround);/* round(), src/nmath/fround.c */ case 10004: return Math2(args, fprec); /* signif(), src/nmath/fprec.c */ So with that I suggest to alter the R-exts.texi as the patch below does. Hope this helps, Dirk edd at max:/tmp$ diff -u R-exts.texi.orig R-exts.texi --- R-exts.texi.orig 2012-09-03 10:56:21.219528679 -0500 +++ R-exts.texi 2012-09-03 10:56:42.359529056 -0500 @@ -10659,14 +10659,14 @@ Returns the value of @var{x} rounded to @var{digits} decimal digits (after the decimal point). -This is the function used by @R{}'s @code{round()}. +This is the function used by @R{}'s @code{signif()}. @end deftypefun @deftypefun double fround (double @var{x}, double @var{digits}) Returns the value of @var{x} rounded to @var{digits} @emph{significant} decimal digits. -This is the function used by @R{}'s @code{signif()}. +This is the function used by @R{}'s @code{round()}. @end deftypefun @deftypefun double ftrunc (double @var{x}) edd at max:/tmp$ -- Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com