Posting Josh's detective work for him, per request:
If you download the sources for gmp
, and search for "Inf" in $gmp-HOME$/src/bigintegerR.cc
, you'll find the following lines:
/// New: numeric '+- Inf' give +- "Large" instead of NA
and a bit later
else { // dj is +- Inf : use LARGE ( = +- 2 ^ 80000 -- arbitrarily )
My guess is that since the GMP library doesn't have a concept/representation of Inf
, the R package authors had to make some decision about how to pass on user-supplied Inf
values to the external library. It looks like they used to convert Inf
to NA
, and now they convert it to 2^80000
.