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