Desenho binomial aleatório Rcpp vetorizado

Esta é uma pergunta subsequente desta:Gerando a mesma variável aleatória em Rcpp e R

Estou tentando acelerar uma chamada vetorizada para rbinom deste formulário:

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

No código ativo de x, há um vetor de comprimento variável (mas geralmente numerado em milhões). Não tenho experiência com o Rcpp, mas estava pensando em usar o Rcpp para acelerar isso. A partir da pergunta vinculada, este código Rcpp foi sugerido para chamadas rbinom não vetorizadas por @Dirk Eddelbuettel:

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

.... e é duas vezes mais rápido que a opção não Rcpp, mas não pode lidar com minha versão vetorizada

    cpprbinom(length(x), 1, x)

Como o código Rcpp pode ser modificado para implementar isso?

obrigado

questionAnswers(2)

yourAnswerToTheQuestion