comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
Subject: Re: logical operations in Ada
Date: Tue, 13 Feb 2001 11:44:11 -0600
Date: 2001-02-13T17:43:37+00:00	[thread overview]
Message-ID: <96bro9$ivb$1@hobbes2.crc.com> (raw)
In-Reply-To: 512i6.239390$JT5.8526649@news20.bellglobal.com

Here's an example of bit-wise operations on modular types
with conversions to and from characters to do what you
said you wanted to do.
-- begin source code --
with Ada.Text_IO;
with Ada.Unchecked_Conversion;
with Interfaces;
procedure Bit_Ops
is
   function To_Character is new Ada.Unchecked_Conversion
     (Source => Interfaces.Unsigned_8,
      Target => Character);
   function To_Unsigned_8 is new Ada.Unchecked_Conversion
     (Source => Character,
      Target => Interfaces.Unsigned_8);
   Mask : constant Interfaces.Unsigned_8 := 2#1101_1111#;
   use type Interfaces.Unsigned_8;
begin
   for C in CHARACTER'('a') .. CHARACTER'('z') loop
      Ada.Text_IO.Put
        (To_Character (Mask and To_Unsigned_8 (C)));
   end loop;
   Ada.Text_IO.New_Line;
end Bit_Ops;
--end source code --
"Freelancer" <freelancer_2001@hotmail.com> wrote in message
news:512i6.239390$JT5.8526649@news20.bellglobal.com...
> I am well aware of ada.characters.handling. That isn't my objective.
> As you said, I am trying to fiddle with bits. How to do this in Ada?
>
> A small example would be greatly appreciated. :)
> Thank you for your references though.
>
>
> "Florian Weimer" <fw@deneb.enyo.de> wrote in message
> news:87pugp2x4p.fsf@deneb.enyo.de...
> > "Freelancer" <freelancer_2001@hotmail.com> writes:
> >
> > > Could anyone tell me how to do basic operation on ASCii characters?
> >
> > Why do you think these are 'logical operations'?
> >
> > > More specifically, I would like to do a to_upper function for example
:
> > >
> > > 'a' becomes 'A' ( a to_upper function)
> >
> > Do you need a function for case conversion, or do you want to do
> > fiddle with bits?  Have a look at the package Ada.Characters.Handling
> > or modular types (for which logical operations are defined).
> >
> > > Is it possible to define a block of assembly language code in an ada
> > > program as well?
> >
> > Yes, see your compiler documentation on 'Machine Code Insertions'.
>
>





  parent reply	other threads:[~2001-02-13 17:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-02-11  9:52 logical operations in Ada Freelancer
2001-02-11 12:24 ` David C. Hoos, Sr.
2001-02-11 12:59 ` Florian Weimer
2001-02-13  3:40   ` Freelancer
2001-02-13  6:43     ` Dale Stanbrough
2001-02-13 11:54     ` Jeff Creem
2001-02-13 17:44     ` David C. Hoos, Sr. [this message]
2001-02-13 22:11       ` Florian Weimer
replies disabled

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