Abnormal normalizations?
uunet!netcom.com!segfault!rfg
uunet!netcom.com!segfault!rfg
Mon Nov 22 11:14:00 PST 1993
More to the point, some f.p. representations may be in registers and
some in RAM, and the number of bits of precision can differ depending
on which kind of storage has been allocated to the variable (or
intermediate result, in the midst of a computation). I am told that
there are actual computers like this. Thus, some bits can be "scraped
off" when a quantity represented in a register passes through a memory
"knothole", and naturally the skinny value may not compare equal to
the original wider value.
It amazes me that there are still people (not necessarily meaning RFG)
who think that comparing f.p. representations for exact equality is a
reasonable thing to be doing.
Judging from various responses I have seen posted, as well as some which
have been sent to me via private E-mail, I must confess that it now seems
that I failed (in my earlier posting) to make it altogether apparent what
my real question(s) were.
Some folks have written to me noting that NaNs do not compare equal.
I was aware of that, and that was not the real subject of my question.
Doug has now reminded me of the "knothole" effect. I was aware of that
also, and it also was not the real subject of my question.
Just to clarify, let me just mention again that my question was prompted
by a recent posting to comp.lang.c++ in which soemone had claimed that
NORMALIZATION might take place (and cause some unspecified loss of sig-
nificance) during, or in conjunction with, an assignment.
My question was simply whether or not such a normalization could or might
occur... an issue which (I believe) is essentially independent of the
comparison of NaNs, and also totally independent of the knothole effect.
At least one correspondent has already sent me an E-mail stating (in effect)
that for IEEE 754 conformant machines (which happen to form the majority of
the machine types that I personally care about) it is, to say the least,
highly improbable that such normalization steps would occur, given that
any IEEE 754 conformant representation of a floating-point quantity (held
either in memory or in a user-accessible register) *should* already be as
"normalized" as it is going to get. Thus, assigning that value to some other
register or memory location is not likely to trigger any sort of additional
normalization step.
(In retrospect, and given this response, I now feel somewhat silly for having
even asked the question in the first place... as the answer, once realized,
seems altogether obvious and apparent... at least to anyone familiar with
IEEE floating-point.)
-- Ronald F. Guilmette, Sunnyvale, California -----------------------------
------ domain address: rfganetcom.com -------------------------------------
------ uucp address: ...!uunet!netcom.com!rfg -----------------------------
More information about the Numeric-interest
mailing list