[squeak-dev] Floats
Alan Pinch
alan.c.pinch at gmail.com
Thu Oct 12 09:36:03 UTC 2017
The same issue exists in ASN1 support, none for float type tag 9. I
would love to add this support but I am unsure how to breakdown a float
into mantissa, base and exponent. Here is a description of how ASN1
formats a REAL into the stream of bytes:
Type REAL takes values that are the machine representation of a real
number, namely the triplet (m, b, e), where m is the mantissa (a
signed number), b the base (2 or 10), and e the exponent (a signed
number). For example, the representation of the value 3.14 for the
variable Pi, declared as Pi ::= REAL, can be (314, 10, -2). Three
special values, PLUS-INFINITY, 0, and MINUS-INFINITY, are also allowed.
Here are some sample values:
* 09 00 = 0 (zero)
* 09 01 40 = +INF (infinity)
* 09 01 41 = -INF
* 09 08 03 2b 31 2e 30 65 2b 30 = "+1.0e+0" = 1.0 (exact decimal)
* 09 05 80 fe 55 55 55 = 1398101.25 (binary, 0x555555 * 2^-2)
* 09 06 83 00 fc 00 00 01 = 0.0625 (binary, 0x000001 * 2^-4)
I have not parsed out these samples into these components so it's greek.
Alan
On 10/11/2017 02:18 PM, Bert Freudenberg wrote:
> On Wed, Oct 11, 2017 at 8:07 PM, Tobias Pape <Das.Linux at gmx.de
> <mailto:Das.Linux at gmx.de>>wrote:
>
>
> > On 11.10.2017, at 19:59, Bert Freudenberg <bert at freudenbergs.de
> <mailto:bert at freudenbergs.de>> wrote:
> >
> > On Wed, Oct 11, 2017 at 5:24 PM, Tobias Pape <Das.Linux at gmx.de
> <mailto:Das.Linux at gmx.de>> wrote:
> > Hi all
> >
> > I'm a bit stumped…
> >
> > What is our canonical way to put a Float onto a (binary) stream?
> > To be precise a IEEE754 double precision 64-bit float onto a
> stream, of which I only know that it is a binary one.
> >
> > I found ByteArray>>doubleAt:{put:}bigEndian:, but they have
> neither senders nor test _and_ it is not a stream.
> >
> > What do y'all use?
> >
> > You write them as two words, like e.g. in DataStream>>writeFloat:.
>
> Quite. yes.
>
> But I find it strange that our read/write streams support various
> integer and string reading/writing helpers, but none for floats…
>
> Best regards
> -Tobias
>
>
> I guess file formats using integers and strings are way more common
> than ones storing binary floats.
>
> - Bert -
>
>
--
Thank you for your consideration,
Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171012/8cd68dee/attachment.html>
More information about the Squeak-dev
mailing list
|