Hello, Functions in sugar only apply to vectors.
For a single value, you’d have to use the dnorm function in the R:: namespace: // [[Rcpp::export]] double test6(double x){ double y = R::dnorm(x,5.0,2.0,true); return y; } > test6(3) [1] -2.112086 > dnorm(3, mean = 5, sd = 2, log = TRUE) [1] -2.112086 Romain > Le 22 févr. 2017 à 15:58, Eridk Poliruyt <ep19...@gmail.com> a écrit : > > Hi, I just tried to calculate the density of a normal variable using dnorm. I > found that if the input is of type NumericVector, then it was fine. But if > the input is of type double, it yielded error in compilation. For example: > > // [[Rcpp::export]] > NumericVector test5(NumericVector x) > { > NumericVector y = dnorm(x,5.0,2.0,true); > return(y); > } > > and > > // [[Rcpp::export]] > double test6(double x) > { > double y = dnorm(x,5.0,2.0,true); > return(y); > } > > May I ask why and how can I calculate this density (and call other common > functions like dbeta, dt, beta, gamma, lbeta, lgamma, etc...) on double input? > > Many thanks, > Eridk > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel