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.
next prev 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