The C code is
double myfmod(double x1, double x2)
We can improve the answer, but what you are doing is fundamentally flawed
and it is hard to detect whether rounding error has affected this. A
warning rather than an error seems appropriate.
If you really want to do things like this, try the gmp package (which
seems to give the wrong answer here) or a more appropriate calculator.
On Thu, 9 Dec 2004 Robert.McGehee@geodecapital.com wrote:
> R Developers,
{
double q = x1 / x2;
return x1 - floor(q) * x2;
}
>
> 1000000000000000000 %% 11
> [1] -32
>
> I now understand that integers cannot be larger than
> .Machine$integer.max, but because the above produces a result than is
> patently wrong instead of an error, I'm reporting this as a bug.
--
Brian D. Ripley, ripley@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu Dec 09 19:56:40 2004
This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:02:05 EST