[Rcpp-devel] Rcpp sugar for double?
Romain Francois
romain at r-enthusiasts.com
Wed Feb 22 16:05:03 CET 2017
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 <ep19772 at 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 at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
More information about the Rcpp-devel
mailing list