From: "Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org>
Subject: Re: How do you bitwise operations in Ada '83 and '95
Date: Wed, 19 Jul 2006 04:37:55 GMT
Date: 2006-07-19T04:37:55+00:00 [thread overview]
Message-ID: <DGivg.844752$084.196149@attbi_s22> (raw)
In-Reply-To: <1153281313.491512.88760@75g2000cwc.googlegroups.com>
jimmaureenrogers@worldnet.att.net wrote:
>
> Actually it does not work exactly the same. The algorithm is
> exactly the same, and the same numbers are produced, but the
> packed array of bits executes faster on my machine by a factor
> of 3 and uses significantly less space (by a factor of 8).
"The algorithm is the same and the same numbers are produced" = "works
the same". Performance may differ, but behavior is the same. Since
performance is a function of many things in addition to the SW, only
behavior is a meaningful comparison. No doubt there is a
platform/OS/compiler combination such that the unpacked version would
run faster than the packed version does on your machine.
> Your definition of bit-wise appears to me to be based upon the
> desire to use a low level abstraction to access the bits. My
> definition includes all abstractions that allow access to
> individual bits. When I only programmed in C, I only
> thought of bit-wise access in low level abstractions. Since I
> have programmed in Ada I think of bit-wise operations in
> many abstraction levels.
"Bitwise operations" is an inherently low-level concept. At a high
level, your abstraction is a set. If we treat that as a high-level
abstraction, then we hide the implementation, and neither bits nor
Booleans appear in the handling of sets in the main program. An array of
Booleans, packed or not, is only one possible implementation of a set.
We could rewrite your program using the ordered-set package from the
Ada-0X data-structures library and get the same behavior. It would not
involve any bit-level access, though.
However, you raise an important point, and that is that we should ask
the OP what he is trying to achieve. It may be that low-level concepts
such as bitwise operations are an inappropriate way to approach the
problem, and instead of showing how to do low-level things, we should be
advising on appropriate high-level abstractions.
--
Jeff Carter
"I'm a lumberjack and I'm OK."
Monty Python's Flying Circus
54
next prev parent reply other threads:[~2006-07-19 4:37 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1153244316.853254.291560@m79g2000cwm.googlegroups.com>
2006-07-18 18:45 ` How do you bitwise operations in Ada '83 and '95 Robert A Duff
2006-07-18 18:53 ` jimmaureenrogers
2006-07-18 19:22 ` Jeffrey R. Carter
2006-07-18 21:32 ` jimmaureenrogers
2006-07-19 0:40 ` Jeffrey R. Carter
2006-07-19 3:55 ` jimmaureenrogers
2006-07-19 4:37 ` Jeffrey R. Carter [this message]
2006-07-19 13:05 ` jimmaureenrogers
2006-07-19 19:43 ` Jeffrey R. Carter
[not found] ` <1153313832.389434.144930@s13g2000cwa.googlegroups.com>
2006-07-19 13:55 ` Georg Bauhaus
2006-07-19 14:20 ` Robert A Duff
2006-07-19 19:30 ` Jeffrey R. Carter
2006-07-19 14:41 ` Robert A Duff
2006-07-18 19:21 ` Jeffrey R. Carter
2006-07-19 3:01 ` tmoran
[not found] <9315684D-C216-4EDA-8852-0A6BD4C275B0@amado-alves.info>
2006-07-19 22:30 ` Marius Amado-Alves
2006-07-20 7:40 ` Georg Bauhaus
2006-07-20 9:29 ` Colin Paul Gloster
2006-07-20 12:31 ` Georg Bauhaus
2006-07-20 13:08 ` Colin Paul Gloster
2006-07-20 13:29 ` Marius Amado-Alves
2006-07-20 13:49 ` Georg Bauhaus
2006-07-21 5:23 ` Colin Paul Gloster
2006-07-21 8:00 ` Georg Bauhaus
2006-07-20 9:03 ` Stephen Leake
2006-07-20 9:38 ` Marius Amado-Alves
2006-07-21 9:53 ` Stephen Leake
2006-07-20 11:31 ` Dmitry A. Kazakov
2006-07-20 13:18 ` Marius Amado-Alves
2006-07-21 9:58 ` Stephen Leake
2006-07-21 12:09 ` Dmitry A. Kazakov
2006-07-21 19:03 ` Simon Wright
2006-07-22 8:32 ` Dmitry A. Kazakov
2006-07-22 8:57 ` Simon Wright
2006-07-22 10:52 ` Georg Bauhaus
2006-07-22 13:31 ` Dmitry A. Kazakov
2006-07-20 9:39 Fwd: " Marius Amado-Alves
2006-07-20 17:54 ` tmoran
2006-07-20 18:30 ` Marius Amado-Alves
2006-07-20 19:36 ` tmoran
2006-07-20 22:09 ` Simon Wright
2006-07-21 10:07 ` Stephen Leake
2006-07-21 19:09 ` Simon Wright
2006-07-21 19:45 ` tmoran
2006-07-23 15:59 ` Stephen Leake
2006-07-24 6:08 ` Simon Wright
[not found] <BFF12262-F906-4F9A-B867-D0373609F038@amado-alves.info>
2006-07-20 16:40 ` Marius Amado-Alves
[not found] <CD6E3BB8-52D2-4EED-A790-0184FE56A99A@amado-alves.info>
2006-07-20 20:41 ` Marius Amado-Alves
2006-07-20 23:13 ` Randy Brukardt
2006-07-21 5:38 ` Marius Amado-Alves
2006-07-21 22:09 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox