comp.lang.ada
 help / color / mirror / Atom feed
From: Christopher Browne <cbbrowne@acm.org>
Subject: Re: if X in 1..35000 versus Boolean
Date: 13 Jul 2002 16:44:21 GMT
Date: 2002-07-13T16:44:21+00:00	[thread overview]
Message-ID: <agpld4$niq17$1@ID-125932.news.dfncis.de> (raw)
In-Reply-To: pan.2002.07.13.17.22.41.883061.2237@gmx.net

The world rejoiced as Jan Prazak <janp9@gmx.net> wrote:
> Hello,
>
> I have a simple question:
>
> does the compiler (I am using GNAT) "see", that
> 	if X in 1..35000 then
>
> is the same as
> 	if (X >= 1) and (X <= 35000) then
>
> ???
>
> Or does the compiler really create an enumeration type with 35000 entries
> with values from 1 to 35000, just to check if X is in there???

I just changed a "if (fsm < proposal) and ..otherstuff.."  to "if (fsm
in 1..proposal) and ...otherstuff..." in a prime number sieve.

The size of the object code increased by 20 bytes, so it evidently
changed _something_.  I'll bet that it created an anonymous
enumeration type, and that some extra code is describing/referencing
that.

But it appears that optimization does The Right Thing so that the
result amounts to "X in 1..35000" ultimately being transformed into
something rather resembling "(X >= 1) and (X <= 35000)".
-- 
(concatenate 'string "cbbrowne" "@cbbrowne.com")
http://www3.sympatico.ca/cbbrowne/pascal.html
The IETF motto: "Rough consensus *and* working code."



  parent reply	other threads:[~2002-07-13 16:44 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-13 19:10 if X in 1..35000 versus Boolean Jan Prazak
2002-07-13 16:27 ` Frank J. Lhota
2002-07-13 20:36   ` Jan Prazak
2002-07-13 18:05     ` Jeffrey Carter
2002-07-14 15:02       ` Jan Prazak
2002-07-13 22:10     ` Robert Dewar
2002-07-14 21:16       ` Jan Prazak
2002-07-14 20:47         ` Frank J. Lhota
2002-07-15  1:21         ` Jeffrey Carter
2002-07-16  8:18     ` Keith Thompson
2002-07-16 13:54       ` Jan Prazak
2002-07-16 11:13         ` Lutz Donnerhacke
2002-07-17 19:04           ` Jan Prazak
2002-07-17 20:00             ` Georg Bauhaus
2002-07-18  8:11             ` Lutz Donnerhacke
2002-07-18 14:39               ` Georg Bauhaus
2002-07-20  0:37               ` Robert Dewar
2002-07-16 20:25         ` Georg Bauhaus
2002-07-17 19:29           ` Jan Prazak
2002-07-16 19:24       ` Gautier
2002-07-17 19:04         ` Jan Prazak
2002-07-13 16:32 ` David C. Hoos, Sr.
2002-07-13 20:36   ` Jan Prazak
2002-07-13 18:02     ` David C. Hoos, Sr.
2002-07-13 18:17     ` sk
2002-07-13 20:02       ` Jeffrey Creem
     [not found]     ` <3D306ED5.33E80E09@myob.com>
2002-07-13 18:52       ` David C. Hoos, Sr.
     [not found]       ` <020a01c22a9f$2b50d6c0$6400000a@dhoos>
2002-07-13 19:02         ` sk
2002-07-14 15:02           ` Jan Prazak
2002-07-14 19:25             ` Darren New
2002-07-15 15:22               ` Steffen Huber
2002-07-13 16:44 ` Christopher Browne [this message]
2002-07-13 22:09   ` Robert Dewar
2002-07-13 17:17 ` tmoran
2002-07-13 19:44 ` Florian Weimer
  -- strict thread matches above, loose matches on Subject: below --
2002-07-14 20:22 Gautier direct_replies_not_read
2002-07-15 11:36 ` Jan Prazak
replies disabled

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