Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ames!amdahl!amdcad!cayman!tim
From: tim@cayman.amd.com (Tim Olson)
Newsgroups: comp.misc
Subject: Re: IEEE floating point format
Message-ID: <26798@amdcad.AMD.COM>
Date: 16 Aug 89 14:08:20 GMT
References: <2170002@hpldsla.HP.COM> <9697@alice.UUCP> <3554@buengc.BU.EDU> <9725@alice.UUCP> <3591@buengc.BU.EDU> <152@servio.UUCP> <3707@buengc.BU.EDU> <26756@amdcad.AMD.COM> <3782@buengc.BU.EDU>
Sender: news@amdcad.AMD.COM
Reply-To: tim@amd.com (Tim Olson)
Organization: Advanced Micro Devices, Austin, TX
Lines: 47
Summary:
Expires:
Sender:
Followup-To:

In article <3782@buengc.BU.EDU> bph@buengc.bu.edu (Blair P. Houghton) writes:
| In article <26756@amdcad.AMD.COM> tim@amd.com (Tim Olson) writes:
| >No, there are two exceptions that can be signalled: underflow and
| >inexact.  Underflow occurs when "tininess" is detected (or both tininess
| >and loss of accuracy, if traps are disabled).
| 
| Is that underflow defined as when a number enters the subnormal
| region, or when it is so small that even subnormal representation
| isn't possible.

"Tininess" is detected when a nonzero result computed as though the
exponent range were unbounded would lie strictly between +/-2^(Emin),
where Emin is the minimum exponent representable in the format being
used.

"Loss of accuracy" is defined as either:

	- a denormalization loss: when the delivered result differs from
	  what would have been computed were texponent range unbounded

	- an inexact result: when the delivered result differs from what
	  would have been computed were both exponent range and
	  precision unbounded

If underflow traps are enabled, then an underflow exception would be
signalled whenever tininess occurs.  This would include all results
between +/-2^(Emin), which, if they had been returned, would be zero,
denormalized, or +/-2^(Emin).

If underflow traps are disabled, then an underflow exception would be
signalled (via the underflow flag) when *both* tininess and loss of
accuracy occur.  This means that a denormalized result may be returned
without setting the underflow flag if it is exactly represented.

| >Inexact occurs whenever
| >the rounded result of an operation cannot be represented exactly.
| 
| You mean whenever the rounded result is not equal to the true result,
| as a result of the decrease in digits that defines the rounding
| operation.  I.e., whenever rounding actually does its job.

Yes.


	-- Tim Olson
	Advanced Micro Devices
	(tim@amd.com)