Rcpp 0.10.4

June 24, 2013
By

(This article was first published on Thinking inside the box , and kindly contributed to R-bloggers)

A new version of Rcpp is now
on the CRAN network for
GNU R;
binaries for Debian have been uploaded
as well.

This release brings a fairly large number of fixes and improvements across a
number of Rcpp features, see
below for the detailed list.

We are also announcing with this release that we plan to phase out the
RCPP_FUNCTION_* macros. Not only have they been superceded by Rcpp
Modules
and Rcpp Atributes (each of which has its own pdf
vignette in the Rcpp package), but they also appear to be at best lightly used. We
are for example not aware of any CRAN packages
deploying them. To provide a smooth transition, we are aiming to keep them
around for another twelve months, but plan to remove them with the first
release after that time window has passed.

As before, we tested the release rather rigorously by checking against all
packages I could (relatively easily) built on my server: this time it covered 91 of
the 124 CRAN packages depending on Rcpp. As all of these 91 packages passed
their checks, we do not expect any issues with dependent packages.

The complete NEWS
entry for 0.10.4 is below; more details are in the ChangeLog file in the package and on the
Rcpp Changelog page.

Changes in Rcpp version 0.10.4 (2013-06-23)

  • Changes in R code: None beyond those detailed for Rcpp Attributes

  • Changes in Rcpp attributes:

    • Fixed problem whereby the interaction between the gc and the RNGScope destructor could cause a crash.

    • Don’t include package header file in generated C++ interface header files.

    • Lookup plugins in inline package if they aren’t found within the Rcpp package.

    • Disallow compilation for files that don’t have extensions supported by R CMD SHLIB

  • Changes in Rcpp API:

    • The DataFrame::create set of functions has been reworked to just use List::create and feed to the DataFrame constructor

    • The operator-() semantics for Date and Datetime are now
      more inline with standard C++ behaviour; with thanks to Robin Girard for the report.

    • RNGScope counter now uses unsigned long rather than int.

    • Vector<*>::erase(iterator, iterator) was fixed. Now
      it does not remove the element pointed by last (similar to what is
      done on stl types and what was intended initially). Reported on
      Rcpp-devel by Toni Giorgino.

    • Added equality operator between elements of CharacterVectors.

  • Changes in Rcpp sugar:

  • Changes in Rcpp build tools:

    • Fix by Martyn Plummer for Solaris in handling of SingleLogicalResult.

    • The src/Makevars file can now optionally override the path for /usr/bin/install_name_tool which is used on OS X.

    • Vignettes are trying harder not to be built in parallel.

  • Changes in Rcpp documentation:

    • Updated the bibliography in Rcpp.bib (which is also sourced by packages using Rcpp).

    • Updated the THANKS file.

  • Planned Deprecation of RCPP_FUNCTION_*:

    • The set of macros RCPP_FUNCTION_ etc … from the
      preprocessor_generated.h file will be deprecated in the next version
      of Rcpp, i.e they will still be available but will generate some
      warning in addition to their expected behavior.

    • In the first release that is at least 12 months after this announcement, the macros will be removed from Rcpp.

    • Users of these macros (if there are any) should start replacing them with more up to date code, such as using Rcpp attributes or Rcpp modules.

Thanks to
CRANberries, you can also look at a
diff to the previous release 0.10.3.
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

To leave a comment for the author, please follow the link and comment on his blog: Thinking inside the box .

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.