From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: S'Is_nan or S'Is_inf?
Date: Fri, 16 Jul 2010 10:42:38 +0200
Date: 2010-07-16T10:42:38+02:00 [thread overview]
Message-ID: <1tbp3geoa5yna$.171cmlfdrbm98$.dlg@40tude.net> (raw)
In-Reply-To: m2y6dctn48.fsf@pushface.org
On Thu, 15 Jul 2010 23:07:51 +0100, Simon Wright wrote:
> Warren <ve3wwg@gmail.com> writes:
>
>> Is there any is not-a-number or is-infinity test support in Ada05+
>> (for floats)? Is there any being planned?
with Ada.Text_IO; use Ada.Text_IO;
procedure IEEE is -- Only if Float is IEEE!
Zero : Float := 0.0;
Inf : Float := 1.0 / Zero;
NaN : Float := 0.0 / Zero;
begin
Put_Line ("Valid " & Boolean'Image (Inf'Valid));
Put_Line ("In range " & Boolean'Image (Inf <= Float'Last));
Put_Line ("Self NaN " & Boolean'Image (NaN = NaN));
end IEEE;
On an IEEE machine it could print 3x FALSE.
> With GNAT, using a subtype
>
> subtype Checked_Float is Float range Float'Range;
>
> will give you a Constraint_Error for NaN or +/-Inf.
Yes, one of the reasons not to use built-in types is that the floating
point ones most likely are IEEE with all nasty consequences.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2010-07-16 8:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-15 21:00 S'Is_nan or S'Is_inf? Warren
2010-07-15 21:30 ` Rod Chapman
2010-07-15 22:03 ` Simon Wright
2010-07-15 21:42 ` J-P. Rosen
2010-07-15 22:07 ` Simon Wright
2010-07-16 8:42 ` Dmitry A. Kazakov [this message]
2010-07-16 17:06 ` Warren
2010-07-16 19:39 ` Dmitry A. Kazakov
2010-07-16 22:35 ` Warren
2010-07-17 6:24 ` Simon Wright
2010-07-19 17:04 ` Warren
2010-07-17 7:40 ` Dmitry A. Kazakov
2010-07-19 17:18 ` Warren
2010-07-19 23:15 ` Randy Brukardt
2010-07-20 14:12 ` Warren
2010-07-20 16:20 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox