Векторизованные Rcpp случайные биномиальные ничьи

Это дополнительный вопрос из этого:Генерация одной и той же случайной величины в Rcpp и R

Я пытаюсь ускорить векторизованный вызов rbinom этой формы:

    x <- c(0.1,0.4,0.6,0.7,0.8)
    rbinom(length(x),1 ,x)

В живом коде x есть вектор переменной длины (но обычно нумерация в миллионах). У меня нет опыта работы с Rcpp, но мне было интересно, могу ли я использовать Rcpp, чтобы ускорить это. Из связанного вопроса этот код Rcpp был предложен для не векторизованных вызовов rbinom @Dirk Eddelbuettel:

    cppFunction("NumericVector cpprbinom(int n, double size, double prob) { \
         return(rbinom(n, size, prob)); }")
    set.seed(42); cpprbinom(10, 1, 0.5)

.... и примерно в два раза быстрее, чем опция без Rcpp, но не может обработать мою векторизованную версию

    cpprbinom(length(x), 1, x)

Как можно изменить код Rcpp для реализации этого?

Спасибо