From: Dave <boldingd@gmail.com>
Subject: Re: unsigned type
Date: Mon, 6 Jul 2009 13:20:45 -0700 (PDT)
Date: 2009-07-06T13:20:45-07:00 [thread overview]
Message-ID: <dfe60969-2ca9-4a21-8a4e-108a6c0a11b4@x3g2000yqa.googlegroups.com> (raw)
In-Reply-To: dbgh45lrj486hdm29mtmcmm8nuk1ahu6r7@4ax.com
On Jun 29, 9:36 am, Rob Solomon <use...@drrob1-noreply.com> wrote:
> I was able to use the Natural and Positive.
>
> Now I'm trying to understand Mod types.
>
> I tried this:
> type card31 is mod 2_147_483_648;
> type card32 is mod 4_294_967_296;
> c31 : Card31;
> c32: Card32;
> LI : Long_Integer;
> and
>
> LI := Long_Integer(c32);
>
> How to I output c31 and c32? Modula-2 uses WriteCard or CardToString
> and WriteString
>
> I tried using Put, but I got an error saying that correct procedure
> could not be found, or something like that.
>
> Put(LI) works until the value of LI > 2**31, even for c32.
>
> Thanks for helping
> --rob
>
> On Sun, 28 Jun 2009 19:54:28 +0000 (UTC), tmo...@acm.org wrote:
> >>I am trying to declare a type as unsigned using Ubuntu 9.04 GNAT
> >>compiler. I know Ada does not have a type CARDINAL, but I thought it
> >>had a type Unsigned.
>
> >Ada's equivalent is Natural. If
> > Lowest : Natural := 0;
> > Highest : Natural := Natural'last;
> >then
> > Lowest := Lowest-1; -- will raise an exception
> > Highest := Highest+1; -- ditto
>
> >(Note that Gnat by default is not a legal Ada compiler because it doesn't
> >check for and raise the exception. You need a command line parameter
> >-gnato to make it act like Ada.)
>
> >The standard Ada package Interfaces has hardware-oriented types
> >Unsigned_8, Unsigned_16, etc but those are modular types so if
> > Empty_Word : Interfaces.Unsigned_16 := 0;
> > Full_Byte : Interfaces.Unsigned_8 := 255;
> >then
> > Empty_Word-1 will be 65535.
> > Full_Byte+1 will be 0.
> >with no exceptions raised.
>
> >You can also declare your own application oriented non-negative types
> > type Ratings is range 1 .. 10;
> >or modular types
> > type Degrees is mod 360; -- 0 .. 359 wrapping around
>
>
I'm an Ada-nub myself, but...
You could use c31'Image(A_c31_Type): be aware that Type'Image may put/
often puts a space or spaces in front of the string it generates.
More experienced Ada programmers will likely be able to provide a
better answer.
next prev parent reply other threads:[~2009-07-06 20:20 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-28 15:36 unsigned type Rob Solomon
2009-06-28 15:45 ` Florian Weimer
2009-06-28 15:48 ` Albrecht Käfer
2009-06-28 17:56 ` anon
2009-06-28 19:17 ` Ludovic Brenta
2009-06-28 23:08 ` anon
2009-06-29 0:19 ` tmoran
2009-06-29 8:00 ` anon
2009-06-29 9:56 ` Jean-Pierre Rosen
2009-06-29 10:21 ` Ludovic Brenta
2009-06-29 11:23 ` sjw
2009-06-29 12:07 ` Jean-Pierre Rosen
2009-06-29 20:06 ` anon
2009-06-29 19:31 ` anon
2009-06-29 21:49 ` Georg Bauhaus
[not found] ` <zuKdneNYxfFNLNTXnZ2dnUVZ_t2dnZ2d@earthlink.com>
2009-06-30 11:29 ` anon
2009-06-30 12:19 ` Ludovic Brenta
2009-06-29 20:19 ` anon
2009-06-29 20:41 ` Ludovic Brenta
2009-06-29 22:15 ` Georg Bauhaus
2009-06-29 23:08 ` Adam Beneschan
2009-06-29 23:11 ` Adam Beneschan
2009-06-30 12:39 ` Martin
2009-06-29 10:25 ` Georg Bauhaus
2009-06-29 20:02 ` anon
2009-06-29 22:08 ` Georg Bauhaus
2009-06-30 23:01 ` Randy Brukardt
2009-06-30 13:46 ` Jean-Pierre Rosen
2009-06-30 15:22 ` Adam Beneschan
2009-06-30 15:59 ` Albrecht Käfer
2009-06-30 16:59 ` Adam Beneschan
2009-06-30 17:44 ` Albrecht Käfer
2009-06-30 18:13 ` Robert A Duff
2009-06-30 18:16 ` Albrecht Käfer
2009-06-30 23:48 ` anon
2009-07-01 1:39 ` Adam Beneschan
2009-07-02 19:04 ` anon
2009-07-02 19:49 ` anon
2009-07-02 21:37 ` Adam Beneschan
2009-07-03 1:42 ` anon
2009-07-03 2:10 ` Adam Beneschan
2009-07-03 7:07 ` Jean-Pierre Rosen
2009-07-03 20:53 ` anon
2009-07-03 21:24 ` Georg Bauhaus
2009-07-04 9:09 ` anon
2009-07-04 13:43 ` Georg Bauhaus
2009-07-06 9:04 ` AdaMagica
2009-07-03 21:46 ` Adam Beneschan
2009-07-04 12:39 ` Martin
2009-07-01 8:09 ` Jean-Pierre Rosen
2009-07-01 15:08 ` Albrecht Käfer
2009-07-11 14:40 ` Hibou57 (Yannick Duchêne)
2009-07-11 17:18 ` sjw
2009-07-11 18:15 ` Hibou57 (Yannick Duchêne)
2009-07-11 20:20 ` anon
2009-07-12 17:57 ` Samuel Tardieu
2009-07-12 18:24 ` AdaMagica
2009-07-13 22:03 ` anon
2009-07-14 7:58 ` Martin
2009-07-16 13:54 ` anon
2009-07-16 14:41 ` Martin
2009-07-16 15:12 ` Adam Beneschan
2009-07-11 14:43 ` Hibou57 (Yannick Duchêne)
2009-07-11 15:22 ` Albrecht Käfer
2009-06-29 8:42 ` Martin
2009-06-29 8:54 ` Dmitry A. Kazakov
2009-06-29 10:10 ` Martin
2009-06-29 12:34 ` Dmitry A. Kazakov
2009-06-29 19:26 ` anon
2009-06-29 23:02 ` Martin
2009-06-29 19:47 ` anon
2009-06-30 8:31 ` Ludovic Brenta
2009-06-28 19:54 ` tmoran
2009-06-28 22:34 ` Gary Scott
2009-06-28 23:15 ` John B. Matthews
2009-06-28 23:21 ` anon
2009-06-29 7:18 ` Dmitry A. Kazakov
2009-06-29 9:52 ` Georg Bauhaus
2009-06-29 12:43 ` Dmitry A. Kazakov
2009-06-29 13:36 ` Rob Solomon
2009-06-29 14:03 ` Robert A Duff
2009-06-29 14:13 ` Georg Bauhaus
2009-06-29 14:18 ` Ludovic Brenta
2009-06-29 15:40 ` Robert A Duff
2009-07-03 1:41 ` Rob Solomon
2009-07-03 7:12 ` Learning Ada (Was: unsigned type) Jacob Sparre Andersen
2009-07-03 8:38 ` Learning Ada Peter Hermann
2009-07-03 9:44 ` Georg Bauhaus
2009-07-03 22:20 ` Learning Ada (Was: unsigned type) anon
2009-07-04 14:53 ` Georg Bauhaus
2009-07-05 23:21 ` anon
2009-07-06 0:05 ` Ludovic Brenta
2009-07-06 0:19 ` Learning Ada Albrecht Käfer
2009-07-06 2:50 ` anon
2009-07-06 6:18 ` AdaMagica
2009-07-06 7:47 ` Jean-Pierre Rosen
2009-07-06 20:21 ` anon
2009-07-06 21:08 ` Georg Bauhaus
2009-07-06 22:43 ` Frank J. Lhota
2009-07-09 22:28 ` anon
2009-07-10 6:23 ` AdaMagica
2009-07-06 10:53 ` Learning Ada (Was: unsigned type) Georg Bauhaus
2009-07-06 19:34 ` anon
2009-07-06 20:29 ` Learning Ada Albrecht Käfer
2009-07-06 21:04 ` Learning Ada (Was: unsigned type) Georg Bauhaus
2009-07-07 19:25 ` sjw
2009-07-06 23:15 ` Randy Brukardt
2009-07-07 15:29 ` Adam Beneschan
2009-07-09 0:15 ` Randy Brukardt
2009-07-09 15:26 ` Adam Beneschan
2009-06-29 15:37 ` unsigned type Adam Beneschan
2009-07-06 20:20 ` Dave [this message]
2009-06-29 16:51 ` Martin Krischik
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox