This is a follow-up to the recent 0.10.0 release which extends the exciting new Rcpp-attributes and Rcpp-sugar work further, and as in a number of other areas as detailed below in the NEWS sections.
This release brings an change to some of the binary interfaces. If you have packages using Rcpp, you will most likely have to reinstall them from source. Some change were made to const correctness as well as other aspects, and it seems that we have temporarily broken the excellent RcppEigen and RcppOctave packages. We are looking into this, and are sorry about the bug.
The complete NEWS
entry for 0.10.1 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.0. 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.1 (2012-11-26)
Changes in Rcpp sugar:
New functions:
setdiff
,union_
,intersect
setequal
,in
,min
,max
,range
,match
,table
,duplicated
New function:
clamp
which combines pmin and pmax, e.g. clamp( a, x, b) is the same as pmax( b, pmin(x, a) )New function:
self_match
which implements something similar tomatch( x, unique( x ) )
Changes in Rcpp API:
The
Vector
template class (henceNumericVector
...) get theis_na
and theget_na
static methods.New helper class
no_init
that can be used to create a vector without initializing its data, e.g. :IntegerVector out = no_init(n) ;
New exception constructor requiring only a message;
stop
function to throw an exception
DataFrame
gains anrows
methodChanges in Rcpp attributes:
Ability to embed R code chunks (via specially formatted block comments) in C++ source files.
Allow specification of argument defaults for exported functions.
New scheme for more flexible mixing of generated and user composed C++ headers.
Print warning if no export attributes are found in source file.
Updated vignette with additional documentation on exposing C++ interfaces from packages and signaling errors.
Changes in Rcpp modules:
Enclose .External invocations in
BEGIN_RCPP
/END_RCPP
Changes in R code :
New function
areMacrosDefined
Additions to
Rcpp.package.skeleton
:
attributes
parameter to generate a version ofrcpp_hello_world
that usesRcpp::export
.
cpp_files
parameter to provide a list of C++ files to include the in thesrc
directory of the package.Miscellaneous changes:
New example 'pi simulation' using R and C++ via Rcpp attributes