[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: arithmetic issues
Date: Mon, 24 Oct 2005 04:27:08 +0200
From: Marcin 'Qrczak' Kowalczyk <qrczak@xxxxxxxxxx>
Taylor Campbell <campbell@xxxxxxxxxx> writes:
> this is typically what is done with exact arithmetic, such as in
> Scheme48:
>
> (/ 0 0) => Error: rational division by zero
Of course; because in the case of exact arithmetic the problem
definitely means that the function is undefined at this point.
With inexact arithmetic it might just result from rounding errors,
so a computation can't expect it in advance, thus it's not generally
a symptom of a bug.
Conditions do not imply bugs. They are just that: conditions. How
they are detected is a matter unrelated to their fundamental purpose.
NaN is a condition, just like the end of an input stream; it's not an
actual numerical value, though it is produced as a result of IEEE 754
numerical operations, just as an EOF object is not any element of an
input stream but is produced by procedures that read from them; and
neither necessarily implies a bug in a program.