Rcpp 0.8.4

pre{ font-size: small ; border : 1px solid gray ; }Dirk uploaded Rcpp 0.8.4 to CRAN yesterday. This release quickly follows the release of Rcpp 0.8.3, because there was some building problems (particularly on the ppc arch on OSX).Rcpp sugarAlready available in Rcpp 0.8.3, the new sugar feature was extended in 0.8.4 to cover more functions, and we have now started to adapt sugar for matrices with functions such as outer, row, diag, etc ...Here is an example of using the sugar version of outerNumericVector xx(x) ; NumericVector yy(y); NumericMatrix m = outer( xx, yy, std::plus<double>() ) ; return m ;This mimics ...

Rmetrics slides

I presented Rcpp at the Rmetrics conference earlier today, this was a really good opportunity to look back at all the work Dirk and I have been commiting into Rcpp.I've uploaded my slides here (pdf) and on slideshare :Rcpp: Seemless R and C++View more presentations from romainfrancois.and some pictures on flickr:

Rcpp 0.8.1

We released Rcpp 0.8.0 almost a month ago. It finalized our efforts in designing a better, faster and more natural API than any version of Rcpp ever before. The journey from Rcpp 0.7.0 to

inline 0.3.5

The inline package is an amazing, yet simple, package for R. It allows to dynamically (within the R session) define R functions and S4 methods with inlined C/C++/Fortran code.Together with RUnit, inline powers the entire unit test suite of Rcpp.As agreed with Oleg Sklyar, who maintains inline, we made a few additions to inline to accomodate the needs of the Rcpp family of packages.cxxfunctionThe main addition is cxxfunction which is very similar to cfunction, except that it only focuses on C++ code using the .Call calling convention. cxxfunction uses a plugin system allowing other ...

RcppArmadillo 0.2.1

ArmadilloArmadillo is a C++ linear algebra library aiming towards a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS libraries.A delayed evaluation approach is employed (during compile time) to combine several operations into one and reduce (or eliminate) the need for temporaries. This is accomplished through recursive templates and template meta-programming.This library is useful if C++ has been decided as the language of choice (due to speed and/or integration capabilities), rather than another ...

Rcpp 0.8.0

SummaryVersion 0.8.0 of the Rcpp package was released to CRAN today. This release marks another milestone in the ongoing redesign of the package, and underlying C++ library.OverviewRcpp is an R package and C++ library that facilitates integration of C++ code in R packages.The package features a set of C++ classes (Rcpp::IntegerVector, Rcpp::Function, Rcpp::Environment, ...) that makes it easier to manipulate R objects of matching types (integer vectors, functions, environments, etc ...).Rcpp takes advantage of C++ language features such as the explicit constructor/destructor lifecycle of objects to manage garbage collection automatically and transparently. We believe this is a major improvement over PROTECT/UNPROTECT. When an ...

Rcpp 0.7.7

February 14, 2010 · Posted by Romain Francois, Professional R Enthusiast ·
pre{ border: 1px solid black ; font-size: small ; }A good 2 days after 0.7.6 was released, here comes Rcpp 0.7.7. The reason for this release is that a subtle bug installed itself and we did not catch it in timeThe new version also includes two new class templates : unary_call and binary_call that help integration of calls (e.g. Rcpp::Language objects) with STL algorithms. For example here is how we might use unary_callThis emulates the code> lapply( 1:10, function(n) seq(from=n, to = 0 ) )As usual, more examples in the unit tests

highlight 0.1-5

February 13, 2010 · Posted by Romain Francois, Professional R Enthusiast ·
pre{ border: 1px solid black ; font-size: small; }I've pushed the version 0.1-5 of highlight to CRAN, it should be available in a couple of days.This version fixes highlighting of code when one wants to display the prompt and the continue prompt. For example, this code :rnorm(10, mean = 5)runif(5)gets highlighted like this:using this code:> highlight( "/tmp/test.R", renderer=renderer_html(document=T), showPrompts = TRUE, output = "test.html" )Under the hood, highlight now depends on Rcpp and uses some of the C++ classes of the new Rcpp API. See the get_highlighted_text function in the code.

Rcpp 0.7.6

February 13, 2010 · Posted by Romain Francois, Professional R Enthusiast ·
Rcpp 0.7.6 was released yesterday. This is mostly a maintenance update since the version 0.7.5 had some very minor issues on windows, but we still managed however to include some new things as well.Vectors can now use name based indexing. This is typically useful for things like data frame, which really are named lists. Here is an example from our unit tests where we grab a column from a data frame and then compute the sum of its values:The classes CharacterVector, GenericVector(aka List) and ExpressionVector now have iterators. Below is another example from our ...

Rcpp 0.7.5

February 9, 2010 · Posted by Romain Francois, Professional R Enthusiast ·
pre{ border: 1px solid black; font-size: x-small ; }Dirk released Rcpp 0.7.5 yesterdayThe main thing is the smarter wrap function that now uses techniques of type traits and template meta-programming to have a compile time guess at whether an object is wrappable, and how to do it. Currently wrappable types are :primitive types : int, double, Rbyte, Rcomplex std::string STL containers such as std::vector<T> as long as T is wrappable. This is not strictly tied to the STL, actually any type that has a nested type called iterator and member functions begin() and end() will do STL maps keyed by ...

Next Page »