A new minor release 0.11.1 of Rcpp is now on the CRAN network for GNU R; binaries for Debian have also been uploaded. The release fixes a number of bugs that have come up since the 0.11.0 release in January, but also brings some extensions. See the NEWS file section below for details, or the ChangeLog file in the package and on the Rcpp Changelog page Once again, we tested this release by building against all CRAN packages which depend upon Rcpp. In short, three packages are blacklisted from tests, and three came up with something we noted — but the remaining 177 packages all build and test cleanly. Detailed results of those tests (and the scripts for it) are on GitHub. There are a number of other fixes, upgrades and other extensions detailed in
NEWSfile extract below, 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. 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
Changes in Rcpp version 0.11.1 (2014-03-13)
Changes in Rcpp API:
Preserve backwards compatibility with Rcpp 0.10.* by allowing
RObjectextraction from vectors (or lists) of Rcpp objects
Add missing default constructor to Reference class that was omitted in the header-only rewrite
NaNhandling of the
IndexHashclass, as well as the vector
.sort()method. These fixes ensure that sugar functions depending on
match()) will now properly handle
NaNvalues for numeric vectors.
DataFrame::nrowsnow more accurately mimics R’s internal behavior (checks the row.names attribute)
Numerous changes to permit compilation on the Solaris OS
Rcpp vectors gain a subsetting method – it is now possible to subset an Rcpp vector using
CharacterVectors (subset a by name),
LogicalVectors (logical subsetting), and
IntegerVectors (0-based index subsetting). Such subsetting will also work with Rcpp sugar expressions, enabling expressions such as
x[ x > 0].
Comma initialization (e.g.
CharacterVector x = "a", "b", "c";, has been disabled, as it causes problems with the behavior of the
Rcpp::Lists. Users who want to re-enable this functionality can use
#define RCPP_COMMA_INITIALIZATION, but be aware of the above caveat. The more verbose
CharacterVector x = CharacterVector::create("a", "b", "c")is preferred.
Changes in Rcpp Attributes
Fix issue preventing packages with
Rcpp::interfacesattribute from compiling.
Fix behavior with attributes parsing of
::createfor default arguments, and also allow constructors of a given size (e.g.
NumericVector v = NumericVector(10))gives a default value of
numeric(10)at the R level). Also make NAs preserve type when exported to R (e.g.
NA_STRINGas a default argument maps to
NA_character_at the R level)
Changes in Rcpp modules