comp.lang.ada
 help / color / mirror / Atom feed
From: Martin Dowie <martin.dowie@btopenworld.com>
Subject: Re: 'Base
Date: Thu, 8 Dec 2005 18:44:53 +0000 (UTC)
Date: 2005-12-08T18:44:53+00:00	[thread overview]
Message-ID: <dn9uv5$nmu$1@nwrdmz02.dmz.ncs.ea.ibs-infra.bt.com> (raw)
In-Reply-To: <1134065313.469475.267400@g47g2000cwa.googlegroups.com>

Matthew Heaney wrote:
> T'Base refers to the "base range" of the type, which defines the range
> in which intermediate calculations are performed.
> 
> The standard states that the range of T'Base:
> 
> (1) includes the value 0
> (2) is symmetric about zero, with possibly an extra negative value
> (3) includes all of the values in the subtype T
> 
> So for example, if T is:
> 
>   type T is 1 .. 42;
> 
> then T'Base is
> 
>   type T'Base is -42 .. 42;
> 
[snip]
> I might have some of the details wrong, but that's the general idea.

Sorry Matt - you must be ill or something as you're a wee bit "off base" 
with your answer to this one!

Try this test prog to see what actually happens:

with Ada.Text_IO; use Ada.Text_IO;

procedure Test_Base is
    type T is range 1 .. 42;
begin
    Put_Line (T'Base'Image (T'Base'First));
    Put_Line (T'Base'Image (T'Base'Last));
end Test_Base;

It isn't -42 .. 42 but the 'First .. 'Last or the underlying integer 
representation. In this case (with ObjectAda) -2147483648 to 2147483647.

Cheers

-- Martin



  reply	other threads:[~2005-12-08 18:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-08 15:21 'Base ada_student
2005-12-08 18:08 ` 'Base Matthew Heaney
2005-12-08 18:44   ` Martin Dowie [this message]
2005-12-08 18:49     ` 'Base Martin Dowie
2005-12-08 19:24     ` 'Base Matthew Heaney
2005-12-08 20:27       ` 'Base Martin Dowie
2005-12-08 19:51     ` 'Base Jeffrey R. Carter
2005-12-08 20:07       ` 'Base Matthew Heaney
2005-12-09  2:57         ` 'Base Randy Brukardt
2005-12-09  2:13   ` Avoiding constraint checks w/ 'Base Anonymous Coward
2005-12-09  3:11     ` Randy Brukardt
2005-12-09 13:11   ` 'Base krischik
2005-12-09 13:52     ` 'Base Matthew Heaney
2005-12-09 20:42       ` 'Base Randy Brukardt
2005-12-08 19:11 ` 'Base Martin Krischik
2005-12-09 20:42   ` 'Base ada_student
2005-12-09 21:39     ` 'Base Pascal Obry
2005-12-10  3:30     ` 'Base Matthew Heaney
2005-12-10 14:50       ` 'Base ada_student
2005-12-10  7:52     ` 'Base Martin Krischik
2005-12-10 12:55       ` 'Base Larry Kilgallen
2005-12-10 13:37         ` 'Base Björn Persson
2005-12-11 11:00           ` 'Base Martin Krischik
2005-12-10 15:01         ` 'Base Robert A Duff
2005-12-11 10:59         ` 'Base Martin Krischik
2005-12-12  9:14       ` 'Base Ole-Hjalmar Kristensen
2005-12-12 19:08         ` 'Base Martin Krischik
2005-12-13 19:24           ` 'Base tmoran
2005-12-13 21:00         ` 'Base Georg Bauhaus
2005-12-14 19:43         ` 'Base Per Sandberg
2005-12-15 20:08           ` 'Base Martin Krischik
2005-12-16 19:19             ` 'Base Jeffrey R. Carter
2005-12-17  7:52               ` 'Base 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