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