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.
Relase 0.10.2 of Rcpp provides the second
update to the 0.10.* series, and has arrived on CRAN
and in Debian.
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.
Changes 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
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 page
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.