Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!henry
From: henry@utzoo.UUCP (Henry Spencer)
Newsgroups: net.lang.c
Subject: Re: Float:16
Message-ID: <6020@utzoo.UUCP>
Date: Fri, 4-Oct-85 14:50:28 EDT
Article-I.D.: utzoo.6020
Posted: Fri Oct  4 14:50:28 1985
Date-Received: Fri, 4-Oct-85 14:50:28 EDT
References: <1869@brl-tgr.ARPA>
Organization: U of Toronto Zoology
Lines: 16

> > Great, a violation of the C language spec in the kernel. [16-bit float]
> 
> Not really. I haven't axually seen it, but here's my theory:
> There must be a union of short[2] & float somewhere in the (which?) 
> kernel. The magic numbers are computed in float and the short[0] is
> written out to a file, the lower mantissa bits being deemed worthless.
> Not a violation, just (nonportable) bit fiddling.

Nope, wrong.  The format is 3 bits of exponent and 13 bits of mantissa,
which does not correspond to *any* hardware format.  It is hand-cooked
using bit-manipulation operations, fairly portably.  No violation of
standards is involved; it's simply a compressed data format unique to
this particular application.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry