[Rd] prod(0, 1:1000) ; 0 * Inf etc
Berwin A Turlach
berwin at maths.uwa.edu.au
Tue Apr 22 05:10:02 CEST 2008
G'day Martin,
On Mon, 21 Apr 2008 18:40:43 +0200
Martin Maechler <maechler at stat.math.ethz.ch> wrote:
> I think most of us would expect prod(0:1000) to return 0, and ...
> ... it does.
>
> However, many of us also expect
> prod(x1, x2) to be equivalent to
> prod(c(x1,x2))
> the same as we can expect that for min(), max(), sum() and such
> members of the "Summary" group.
Many may also expect that prod(x) and prod(rev(x)) are equivalent.
Unfortunately, this does not hold in finite precision arithmetic:
> prod(0:1000)
[1] 0
> prod(1000:0)
[1] NA
> prod(rev(0:1000))
[1] NA
It might be better to educate useRs on finite precision arithmetic
than trying to catch such situations. Note, I am saying "better", not
"easier". :-)
Cheers,
Berwin
More information about the R-devel
mailing list