Articles by romain francois

Welcoming C++14

January 19, 2015 | romain francois

Since last CRAN release of Rcpp11, I've started to work on the next iteration of R/C++ support with Rcpp14 by propagating changes to both implementations, e.g. the Strict class that I mentionned in this post. But now, I'm starting to make unique chan... [Read more...]

stricter arguments in Rcpp11/Rcpp14

January 16, 2015 | romain francois

The way some classes (e.g. NumericVector have been implemented in various R/C++ versions gives us automatic coercion. For example passing an integer vector to a C++ function that has a NumericVector as an argument will coerce the integer vector into a ... [Read more...]

dplyr tour. 3 next dates

November 18, 2014 | romain francois

I'm back on the road for 3 dplyr talks. On thursday I'll be in Lyon for the RLyon meetup. Next week, I'll be back to Budapest as part of the BI Forum In december, I'll be in Milano for the MilanoR meeetup. See you there. 3 more dates on my #dplyr autumn ... [Read more...]


November 10, 2014 | romain francois

Rcpp11 was released to CRAN, as the ultimate C++11 companion to R 3.1.2 on which it depends. The NEWS extract follows:
# Rcpp11 3.1.2

* New `wrap` implementation for `std::tuple<Args...>` (#195)

* `colnames` and `rownames` setters for matrices (#210). 

* Most sugar functions are now processing the expression in parallel. 

* Forbidden symbols from the C/R API are no longer directly used, so packages can use Rcpp11 without getting the NOTE as before.
This release marks departure from compromision. Rcpp11 used to compromise on the meaning of C++11 to satisfy platforms for which the available tooling was laging behind, most notoriously windows ... [Read more...]

Pro Grammar and Devel Hoper

August 22, 2014 | romain francois

I've been teasing about this post for some time now. My next blog post is "Pro Grammar and Devel Hoper". And this not just an empty pun. Stay tuned.— Romain François (@romain_francois) August 3, 2014 @stefanbache another teaser. iris ____ filter( Sepal.Length __ 7 ) iris |__ filter( Sepal.... [Read more...]

yocto benchmarking

July 31, 2014 | romain francois

Let's start with a picture of a bench, as we're going to do some benchmarking. One of my take home message from useR was that we are going to have to do things in parallel. JJ set the motion with the RcppParallel package. The inceptive example for... [Read more...]

a:class <- b

July 28, 2014 | romain francois

Usually in strongly typed languages, like C++, the type of a variable comes before the variable, e.g.: int x = 23 ; So x is declared of type int and assignd the value 23. Now, some languages do things differently, e.g. in julia: x::Int8 = 10... [Read more...]

A package about nothing

July 25, 2014 | romain francois

nothing is a package about nothing. The idea is that when you do require(nothing) you express that you don't need anything, and therefore nothing assumes you are fine just using the base package, so it detaches all other packages.
> loadedNamespaces()
 [1] "base"      "datasets"  "devtools"  "digest"    "evaluate"  "graphics"
 [7] "grDevices" "httr"      "memoise"   "methods"   "parallel"  "RCurl"
[13] "stats"     "stringr"   "tools"     "utils"     "whisker"
> require(nothing)
Loading required package: nothing  
unloading 'methods' package ...  
Failed with error:  ‘invalid 'pos' argument’  
> loadedNamespaces()
[1] "base"
I agree, this is completely useless. [Read more...]

Rcpp11 3.1.1

July 22, 2014 | romain francois

R 3.1.1 was released a few days ago, and as part of the policy we are trying to follow for Rcpp11 releases, here is Rcpp11 3.1.1. Sorry for the 12 days delay, but I was away in California, and Rcpp11 travelled with me, so I could not properly test the ... [Read more...]

Rcpp11 t-shirt sightseeing

July 22, 2014 | romain francois

While we wait for CRAN to process the release of Rcpp11 3.1.1, here are some news about the Rcpp11 t-shirt. With more than 40 attendees, the Rcpp11 tutorial was a success. I managed to distribute almost all t-shirts I printed for the occasions. I onl... [Read more...]

Can Rcpp fuse ?

July 8, 2014 | romain francois

One of the features of Rcpp11 people seemed to like during useR is the fuse function. fuse is somewhat similar to the c function in R. For the purpose of this post, let's simplify what fuse does, and just say that it takes several compatible vector... [Read more...]

R function call overhead in Rcpp(11)

June 24, 2014 | romain francois

Some people have asked for some facts about the differences between Rcpp11 and Rcpp, here is just one nugget. If you've been following the Rcpp world for some time, you might have seen comments like: Calling an R function from C++ is expensive. ... [Read more...]

Rcpp11 conference marathon

June 19, 2014 | romain francois

This is going to be a busy start of summer for me and Rcpp11. I will start by a talk at the 3rd rencontres R in Montpellier on June 26th. Then, over to Bressanone in the italian alps for DSC2014 where I'll give another talk on the next day (June 27... [Read more...]

Keep calm and #include <Rcpp11>

June 19, 2014 | romain francois

Following up on this post, I have just commited some code that makes the using namespace Rcpp11 ; automatic, I was just tired of typing it. So now, you can just do : #include If however, for some weird reason (some people love litter... [Read more...]

sugar in parallel

June 18, 2014 | romain francois

I've been playing with parallelising Rcpp11 implementation of sugar. For example, we have a NumericVector variable x and we want to compute e.g. sqrt(exp(x)) + 2.0. With sugar, we can do: NumericVector y = sqrt(exp(x)) + 2.0 ; and this does not... [Read more...]

useR!2014 Rcpp11 tutorial

June 17, 2014 | romain francois

We are getting close to useR!2014. I hope I'll see some of you at my tutorial about Rcpp11 in the morning. There are some other pretty useful tutorials as well, so no hard feeling if you don't come, but if you do want to know about modern R and C++, ... [Read more...]

subset vectors in Rcpp11

June 7, 2014 | romain francois

[    ] Under the impulsion of @kevin_ushey who already did something similar for Rcpp, we've been adding subsetting behavior into Rcpp11. The idea is given a vector y and a vector x we want to give meaning to y[x]. The first legitimate question is what kind of x do we ... [Read more...]

Modernizing sugar in Rcpp11

May 27, 2014 | romain francois

I'm in the process of modernizing the implementation of sugar in Rcpp11. Previous work already improved performance of sugar by allowing sugar classes themselves to implement how to apply themselves into their target vector. For example the sugar cla... [Read more...]

Disambiguating Rcpp11 and Rcpp

May 27, 2014 | romain francois

I pushed some code this morning to allow us to use this alternative syntax to use Rcpp11. #include using namespace Rcpp11 ; Of course the usual code will continue to work, and might even be preferable if you write code that needs to... [Read more...]
1 2 3 6

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)