Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: A note about {empty} and NaI...



Nate, Dan, and others,

But this only underscores the reason why it is so important in 1788 that
{empty} and NaI should not be conflated or fused together. They are distinct
abstract objects with different properties and purposes: one is member of
the set-theory, for example, and the other is not.

I fully agree with Nate that we must keep {empty} and NaI as separate objects and define the behavior of the different operations when they get such arguments.

IMHO, one of the problems that existed in 754-1985 and that we had to keep in 754-2008 is the use of NaN for multiple meanings. We have at least the following uses of NaNs in 754:
1. uninitialized data (defined numeric variables without a stated initial value till their first assignment)
2. undefined mathematical quantities (such as 0/0  or    infinity - infinity)
3. missing data (such as the grade of an absent student in a spreadsheet program)
4. true not-a-number objects (such as the string "Arithmetic is fun")

If someone wanted the average of a series of floating point data where one or more is missing (case 3 above), we should drop the missing data in the calculation possibly with or without a warning but we must present a meaningful result. However, if there are quantities representing any of the other cases we must raise warnings and indicate that the operation has an invalid result.

The different uses lead to different views on how the operations should behave and lengthy discussions in 754 revision meetings. It would be much wiser if 1788 avoids these troubles from its inception.

--
Hossam Fahmy
Assistant Professor
Electronics and Communications Department
Cairo University
Egypt