comp.lang.ada
 help / color / mirror / Atom feed
From: "Eric G. Miller" <egm2@jps-nospam.net>
Subject: Re: Integers and Mathematical Correctness
Date: Tue, 06 Nov 2001 19:44:26 -0800
Date: 2001-11-06T19:44:26-08:00	[thread overview]
Message-ID: <O%1G7.10814$kb6.233127@nntp3.onemain.com> (raw)
In-Reply-To: 3BE766F6.3D014CD8@worldnet.att.net

In <3BE766F6.3D014CD8@worldnet.att.net>, James Rogers wrote:

> "Eric G. Miller" wrote:
>> 
>> #include <float.h>
>> #include <limits.h>
>> #include <math.h>
>> 
>> In C: sizeof float <= sizeof double <= sizeof long double
>> 
>> It's all there.  Granted, there are a few things where there's no analog
>> in C that you'd have to code/check yourself (limited ranges, fixed
>> precision).
> 
> The include files listed above declare constants for various values, such
> as FLT_MAX. In one sense they are like 'First and 'Last in that they
> identify value boundaries. Unfortunately, these values in C are not as
> useful as their Ada counterparts.
> 
> Take the following C snippet:
> 
> float f = FLT_MAX;
> double d = 2;
> 
> f *= d;
> 
> What will the result of this be? There is no error issued either at
> compile or run time. The value output by printf using a gcc compiler is
> "1.#INF".

Yes, you have to do sanity checking at run time.  C promotes all sorts
of unsafe things (as you well know).  Funny, I ran the snippet through
lint (default settings), and it didn't see an error either (nor does
-Wall generate any warnings).

[snip]

> Note that this error would have been caught by an Ada compiler. C never
> notices the problem at all.

This is one of the things that drew me Ada.  It's taking some getting used
to, but I think it's worth it.  I was shocked (and somewhat annoyed) by
how much the compiler complained when working on my first program.  The
programs are better because of it, though.



  parent reply	other threads:[~2001-11-07  3:44 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-31 20:27 Integers and Mathematical Correctness chris.danx
2001-10-31 21:21 ` David C. Hoos
2001-10-31 22:16   ` chris.danx
2001-10-31 22:47     ` David C. Hoos
2001-10-31 22:55       ` chris.danx
2001-10-31 23:16         ` Matthew Heaney
2001-10-31 21:42 ` Mark Johnson
2001-11-01 18:57   ` Mark Johnson
2001-11-01 14:32 ` Wes Groleau
2001-11-01 16:18   ` wilhelm.spickermann
2001-11-01 16:48   ` chris.danx
2001-11-01 15:45 ` Charles Sampson
2001-11-01 16:20   ` Marin David Condic
2001-11-03 17:02     ` Richard Riehle
2001-11-05 14:47       ` Marin David Condic
2001-11-06  3:53         ` Eric G. Miller
2001-11-06  4:28           ` James Rogers
2001-11-06  6:06             ` peter
2001-11-06 14:48               ` James Rogers
2001-11-06 15:54                 ` Marin David Condic
2001-11-07  3:44             ` Eric G. Miller [this message]
2001-11-01 17:10   ` chris.danx
2001-11-01 17:52     ` Chad Robert Meiners
2001-11-01 19:02       ` chris.danx
2001-11-01 17:57     ` Wes Groleau
2001-11-03 14:57     ` Charles Sampson
2001-11-01 16:11 ` Charles Lindsey
2001-11-01 18:40   ` Wilhelm Spickermann
2001-11-01 19:18   ` chris.danx
2001-11-02  1:37     ` Steven Deller
2014-09-26  9:07       ` vincent.diemunsch
2014-09-26 16:38         ` Niklas Holsti
2014-09-26 16:58           ` AdaMagica
2014-09-26 17:51             ` Adam Beneschan
2014-09-27  9:01               ` AdaMagica
2014-09-27 10:15                 ` AdaMagica
2014-09-27 16:32                 ` Niklas Holsti
2014-09-27 16:49                   ` Jeffrey Carter
2014-09-27 18:52                     ` Niklas Holsti
2014-09-27 18:54                   ` Adam Beneschan
2014-09-27 19:07                     ` Adam Beneschan
     [not found]                 ` <3489504a-f82b-4fec-8a6c-7cb91854dd1e@googlegroups.com>
2014-09-27 19:21                   ` AdaMagica
2014-09-27 11:44           ` gautier_niouzes
2014-09-26 16:41         ` Adam Beneschan
2014-09-26 16:46         ` Adam Beneschan
2014-09-27 15:21           ` vincent.diemunsch
     [not found]             ` <34da5a39-9fa3-4e8e-a3f9-98f61a4ebcc7@googlegroups.com>
2014-09-28  7:47               ` Dmitry A. Kazakov
2014-09-29 14:58                 ` Adam Beneschan
2014-09-29 16:25                   ` Dmitry A. Kazakov
2014-10-01 19:48                   ` vincent.diemunsch
2014-10-02 11:10                     ` G.B.
2001-11-01 18:08 ` Tucker Taft
2001-11-01 18:54 ` David Starner
2001-11-01 21:44   ` Wilhelm Spickermann
2001-11-02 12:52 ` chris.danx
  -- strict thread matches above, loose matches on Subject: below --
2001-10-31 22:42 Beard, Frank
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox