Fixed point matrix representation considered harmful

Glynn Clements glynn at gclements.plus.com
Thu Mar 20 19:55:04 PDT 2008


Simon Thum wrote:

> >>> Except that it complicates decoding for non-IEEE platforms. Think VAX.
> >> Are we actually designing for VAX these days? There aren't many other
> >> non-IEEE platforms that I know of: even lame embedded/consumer chips are
> >> pretty much all IEEE now, TTBOMK.
> > 
> > Well, at least some of the RISC platforms have IEEE-like floating point,
> > but don't do the magic values. Think about Alpha. My point is to just
> > specify a simple binary format and leave out all the special magic
> > values.
> 
> You'll have to do sanity checks independent of the platform. It's 
> actually quite hard to avoid special values by (re)specifying the binary 
> representation. How to make denorms unrepresentable?

With the IEEE representation, the fact that the most significant bit
is implied (i.e. not stored) means that denorms are only representable
because there's a special case (all-zeros exponent) for representing
denorms.

If it wasn't for the special cases for the all-zeros and all-ones
exponents, you wouldn't have infinity, NaN, or denorms.

A corollary of the inability to represent denorms is that you wouldn't
be able to represent zero, as zero cannot be normalised.

If you just want "ordinary" floating-point values, you can use IEEE
formats with the restriction that the exponent cannot be all-ones
(eliminating infinity and NaN), and if it is all-zeros then the
mantissa must also be all-zeros (eliminating denorms other than zero).

-- 
Glynn Clements <glynn at gclements.plus.com>



More information about the xorg mailing list