Subject: float to bfloat .. disagreement meta-question
From: Richard Fateman
Date: Fri, 23 Jan 2004 09:29:21 -0800
This may not be the right issue, but we may be faced in the
future with differences where groups want to go different ways
with the design or implementation.
How to resolve disagreements?
1. argue until reaching consensus (Common Lisp committee). If
no consensus?
2. break off in a fit of pique and form another language (Unix
standard behavior with respect to operating systems).
3. hide behind some switch (e.g.
try_to_rationalize_float_before_conversion_to_bigfloat: true)
4. vote; majority rules.
5. appeal to authority.
6. standards "committee" authority.
7. Something else. (?)
I would think that (2) is bad; (3) is tiresome and could clog the
documentation
and make interactions between different programs very touchy. It is
almost what
was done in the Macsyma design except when (5) could be made to work.
RJF
PS, with regard to decoding floats, I think that treatment of reserved
operands by integer-decode-float
is problematical. Allegro CL which tends to be fairly standard's
conscious, gives an error as shown below..
(integer-decode-float (expt 2.0 1000)) ;; similarly for NaNs.
Error: Attempt to decode a reserved floating point value with exponent
128 to an integer
[condition type: simple-error]
I don't know what you'd like to do for bfloat(NaN) or bfloat(infinity) :)