From: Stephen Leake <stephen_leake@acm.org>
To: Björn <ssh9614@hotmail.com>
Cc: comp.lang.ada@ada-france.org
Subject: Re: How to byte swap an IEEE Float?
Date: Wed, 29 Jun 2005 20:52:34 -0400
Date: 2005-06-29T20:52:34-04:00 [thread overview]
Message-ID: <mailman.115.1120092778.17633.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <1120039226.101013.221510@g43g2000cwa.googlegroups.com> (ssh9614@hotmail.com's message of "29 Jun 2005 03:00:26 -0700")
"Björn" <ssh9614@hotmail.com> writes:
>> See SAL.Network_Order.Gen_Scalar_64 at
>> http://www.toadmail.com/~ada_wizard/ada/sal.html for a convenient way
>> to do this.
>
> Thanks! I will check it out.
>
>> Hmm. Are you saying the original value is _not_ a NaN? If so, then
>> your swap implementation is faulty; try mine.
>
> No the original value _is_ a NaN when read as a float on x86 (the
> subject on this thread was perhaps a bit misleading)
Ok. So you have some code that generates a NaN, sends it over a
network or something, and then some Ada code wants to store it in a
Float value, still as a NaN.
Unchecked_Conversion should support that. I'm not quite clear what
will happen when you try to use the value or even assign the value;
you'll probably get Constraint_Error. You might try 'Valid.
The Ada model of floating point numbers does _not_ include NaN's, nor
infinities.
--
-- Stephe
next prev parent reply other threads:[~2005-06-30 0:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-28 13:53 How to byte swap an IEEE Float? Björn
2005-06-28 15:06 ` Marius Amado Alves
2005-06-28 15:55 ` Simon Wright
2005-06-28 16:59 ` Marius Amado Alves
2005-06-28 20:43 ` Björn
2005-06-29 0:13 ` Marius Amado Alves
2005-06-30 19:14 ` Randy Brukardt
2005-06-28 16:05 ` Martin Dowie
2005-06-28 23:35 ` Stephen Leake
2005-06-29 10:00 ` Björn
2005-06-30 0:52 ` Stephen Leake [this message]
2005-07-01 4:51 ` Simon Wright
2005-06-29 20:10 ` Damien
2005-06-30 11:35 ` Peter Hermann
2005-06-30 22:26 ` Damien
2005-07-01 7:37 ` Peter Hermann
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox