Rcpp 0.11.1
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
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
NEWS
file extract below, in the ChangeLog file in the package and on the
Rcpp Changelog page.
Changes in Rcpp version 0.11.1 (2014-03-13)
Changes in Rcpp API:
Preserve backwards compatibility with Rcpp
0.10.* by allowingRObject
extraction from vectors (or lists) of Rcpp objectsAdd missing default constructor to Reference class that was omitted in the header-only rewrite
Fixes for
NA
andNaN
handling of the
IndexHash
class, as well as the vector.sort()
method. These fixes ensure that sugar functions depending on
IndexHash
(i.e.unique()
,sort_unique()
,
match()
) will now properly handleNA
andNaN
values for numeric vectors.
DataFrame::nrows
now 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
usingCharacterVector
s (subset a by name),LogicalVector
s (logical subsetting), and
IntegerVector
s (0-based index subsetting). Such subsetting
will also work with Rcpp sugar expressions, enabling expressions
such asx[ x > 0]
.Comma initialization (e.g.
CharacterVector x = "a", "b", "c";
, has been disabled, as
it causes problems with the behavior of the=
operator with
Rcpp::List
s. 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::interfaces
attribute from compiling.Fix behavior with attributes parsing of
::create
for default
arguments, and also allow constructors of a given size
(e.g.NumericVector v = NumericVector(10))
gives a default
value ofnumeric(10)
at the R level). Also make NAs preserve
type when exported to R (e.g.NA_STRING
as a default argument
maps toNA_character_
at the R level)Changes in Rcpp modules
Corrected the
un_pointer
implementation forobject
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
This post by Dirk Eddelbuettel
originated on his Thinking inside the box blog.
Please report excessive re-aggregation in third-party for-profit settings.
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.