Rcpp has become the most popular way of enhancing GNU R with C++ code. As of today, 323 packages on CRAN depend on Rcpp for making analyses go faster and further; BioConductor adds another 41 packages, and casual searches on GitHub suggests dozens mores.
This release once again adds a large number of small bug fixes, polishes and enhancements. And like the last time, these changes were made by a group of seven different contributors (counting code commits) plus three more providing concrete suggestions. This shows that the Rcpp development and maintenance rests a large number of (broad) shoulders.
See below for a detailed list of changes extracted from the
Changes in Rcpp version 0.11.4 (2015-01-20)
Changes in Rcpp API:
ListOfclass gains the
.namesmethods common to other Rcpp vectors.
[dpq]nbinom_mu()scalar functions are now available via the
R::namespace when R 3.1.2 or newer is used.
Add an additional test for AIX before attempting to include
Rcpp::stopnow supports improved
printf-like syntax using the small tinyformat header-only library (following a similar implementation in Rcpp11)
Pairlist objects are now protected via an additional
Shield<>as suggested by Martin Morgan on the rcpp-devel list.
Sorting is now prohibited at compile time for objects of type
Vectors now have a
Vector::const_iteratorthat is ‘const correct’ thanks to fix by Romain following a bug report in rcpp-devel by Martyn Plummer.
mean()sugar function now uses a more robust two-pass method, and new unit tests for
mean()were added at the same time.
var()functions now support all core vector types.
setequal()sugar function has been corrected via suggestion by Qiang Kou following a bug report by Søren Højsgaard.
makedevno longer leak in from the (Linux) system header
push_front()string function was corrected.
Changes in Rcpp Attributes:
Only look for plugins in the package’s namespace (rather than entire search path).
Also scan header files for definitions of functions to be considerd by Attributes.
Correct the regular expression for source files which are scanned.
Changes in Rcpp unit tests
Added a new binary test which will load a pre-built package to ensure that the Application Binary Interface (ABI) did not change; this test will (mostly or) only run at Travis where we have reasonable control over the platform running the test and can provide a binary.
New unit tests for sugar functions
varwere added as noted above.
Changes in Rcpp Examples:
For the (old) examples
OpenMP, the respective
Makefilewas renamed to
R CMD checkas well as the CRAN Maintainers.
Thanks to CRANberries, you can also look at a diff to the previous release As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads page, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.