comp.lang.ada
 help / color / mirror / Atom feed
From: Colin Paul Gloster <Colin_Paul_Gloster@ACM.org>
Subject: Re: How do you bitwise operations in Ada '83 and '95
Date: Fri, 21 Jul 2006 07:23:32 +0200
Date: 2006-07-21T05:23:32+00:00	[thread overview]
Message-ID: <20060721070023.G88718@docenti.ing.unipi.it> (raw)
In-Reply-To: <1153403384.9119.40.camel@localhost.localdomain>

On Thu, 20 Jul 2006, Georg Bauhaus wrote:

"On Thu, 2006-07-20 at 15:08 +0200, Colin Paul Gloster wrote:

>  the returned value from function 
> Shift_Left  (Value : Unsigned_96; Amount : Natural) return Unsigned_96 
> can not be assigned to a variable of type Time is mod 2 ** 96 without 
> conversion.

type Time is new Unsigned_96;

In fact,
  type Time is private;
and then the above."

No, actually you need a subtype for your example but I accept your point 
is still valid. Uncomment the following comments for a compilation error.
procedure Subtype_Instead_Of_Type is
   type T1 is range 0..19;
   --type T2 is new T1;
   subtype ST is T1;
   V1 : T1;
   --V2 : T2;
   V3 : ST;
begin
   V1 := 7;
   --V2 := V1;
   V3 := V1;
end;


"[..]
But if an algorithm is about shifting bits really, then why
not use the subprograms that say "Shift_zzzz" in their names, and
that were made for shifting bits?"

If you can and all the platforms you wish to have the program on allow it, 
it could be done. Another question is, why did the Ada 95 standard and the 
Ada 2005 standard provide those functions in such a form which is less 
general than Ada's multiplication and power operators and C's shift 
operators?

" If there is room for even more than 96 bits in modular 
numbers, [..]"

Whereas if the largest Interfaces.Unsigned_n is smaller than needed...



  reply	other threads:[~2006-07-21  5:23 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9315684D-C216-4EDA-8852-0A6BD4C275B0@amado-alves.info>
2006-07-19 22:30 ` How do you bitwise operations in Ada '83 and '95 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 [this message]
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
     [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
     [not found] <BFF12262-F906-4F9A-B867-D0373609F038@amado-alves.info>
2006-07-20 16:40 ` Marius Amado-Alves
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] <1153244316.853254.291560@m79g2000cwm.googlegroups.com>
2006-07-18 18:45 ` 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
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
replies disabled

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