> 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

Reply via email to