R 3.1.0 came out today. Among the (impressive and long as usual) list of changes is the added ability to specify
CXX_STD = CXX11in order to get C++11 (or the best available subset on older compilers). This brings a number of changes and opportunities which are frankly too numerous to be discussed in this short post. But it also permits us, at long last, to use
long longinteger types. For RcppCNPy, this means that we can finally cover NumPy integer data (along with the double precision we had from the start) on all platforms. Python encodes these as an int64, and that type was unavailable (at least in 32-bit OSs) until we got
long longmade available to us by R. So today I made the change to depend on R 3.1.0, and select C++11 which allowed us to free the code from a number if
#ifdeftests. This all worked out swimmingly and the new package has already been rebuilt for Windows. I also updated the vignette, and refreshed its look and feel. Full changes are listed below.
Changes in version 0.2.3 (2014-04-10)
CXX_STD = CXX11which also provides the
long longtype on all platforms, so integer file support is no longer conditional.
Consequently, code conditional on
RCPP_HAS_LONG_LONG_TYPEShas been simplified and is no longer conditional.
The package now depends on R 3.1.0 or later to allow this.
The vignette has been updated and refreshed to reflect this.
CRANberries also provides a diffstat report for the latest release. As always, feedback is welcome and the rcpp-devel mailing list off the R-Forge page for Rcpp is the best place to start a discussion.