Rcpp 0.10.2
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
It brings another great set of enhancements and extensions, building on the recent 0.10.0 and 0.10.1 releases. The new Rcpp attributes were rewritten to not require Rcpp modules (as we encountered on issue with exceptions on Windows when built this way), code was reorganized to significantly accelerate compilation and a couple of new things such as more Rcpp sugar goodies, a new timer class, and a new string class were added. See below for full details.
We also tested this fairly rigorously by checking about two thirds of the over 90 CRAN packages depending on Rcpp (and the remainder required even more package installs which we did not do as this was already taking about 12 total cpu hours to test). We are quite confident that no changes are required (besides one in our own RcppClassic package which we will update.
The complete NEWS
entry for 0.10.2 is below; more details are in the ChangeLog file in the package and on the
Rcpp Changelog page.
Thanks to CRANberries, you can also look at a diff to the previous release 0.10.1. As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads, 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 pageChanges in Rcpp version 0.10.2 (2012-12-21)
Changes in Rcpp API:
Source and header files were reorganized and consolidated so that compile time are now significantly lower
Added additional check in
Rstreambuf
deletetionAdded support for
clang++
when usinglibc++
, and for ancicpc
instd=c++11
mode, thanks to a patch by Yan ZhouNew class
Rcpp::String
to facilitate working with a single element of a character vectorNew utility class sugar::IndexHash inspired from Simon Urbanek’s fastmatch package
Implementation of the equality operator between two Rcomplex
RNGScope
now has an internal counter that enables it to be safely used multiple times in the same stack frame.New class
Rcpp::Timer
for benchmarkingChanges in Rcpp sugar:
More efficient version of
match
based onIndexHash
More efficient version of
unique
base onIndexHash
More efficient version of
in
base onIndexHash
More efficient version of
duplicated
base onIndexHash
More efficient version of
self_match
base onIndexHash
New function
collapse
that implements paste(., collapse= “” )Changes in Rcpp attributes:
Use code generation rather than modules to implement
sourceCpp
andcompileAttributes
(eliminates problem with exceptions not being able to cross shared library boundaries on Windows)Exported functions now automatically establish an
RNGScope
Functions exported by
sourceCpp
now directly reference the external function pointer rather than rely on dynlib lookupOn Windows, Rtools is automatically added to the PATH during
sourceCpp
compilationsDiagnostics are printed to the console if
sourceCpp
fails and C++ development tools are not installedA warning is printed if when
compileAttributes
detectsRcpp::depends
attributes in source files that are not matched by Depends/LinkingTo entries in the package DESCRIPTION
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.