> On Apr 24, 2015, at 23:58, Christian Gunning <x...@unm.edu> wrote:
>
> Quick question, mainly out of curiousity. I get that Rcpp uses the R api on
> the backend, and in the R api, R::rpois returns a double (and Rcpp::rpois
> returns NumericVector). The R C code doesn't offer much in the way of
> explanation of why double is returned, but always returns a floor()
> (https://svn.r-project.org/R/trunk/src/nmath/rpois.c).
>
> It seems to me that, in this case, upstream could (should?) cast to int.
> Since it doesn't, downstream users like Rcpp and me must choose whether to
> follow upstream convention or to cast. In this case, is the "best practice"
> to cast-to-int right away, or to follow along and just use doubles for
> everything?
>
> I've run into this recently with other RNG code that returns doubles for
> everything, and I'm wondering if there's an obvious tradeoff that I'm
> missing, like speed versus type-correctness? If anyone has any insights, I'd
> love to hear them.
>
The set of integers exactly representable by a double is a superset of those
which can represented by a 32bit int.
http://stackoverflow.com/questions/759201/representing-integers-in-doubles
_______________________________________________
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