comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Curiosity about different integer types
Date: Sat, 18 Jun 2016 23:57:11 +0200
Date: 2016-06-18T23:57:11+02:00	[thread overview]
Message-ID: <nk4g41$13r5$1@gioia.aioe.org> (raw)
In-Reply-To: 63c033c6-10b5-44fc-8d93-a786392a6058@googlegroups.com

On 2016-06-18 23:26, mockturtle wrote:

> few days ago a curiosity came to my mind.  Consider this
>
>   type Foo is new Integer range 0 .. 115;
>
>   type Bar is new Integer range -1000 .. 1000;
>
> My gut feeling is that, despite the fact that they are both derived
> from Integer, there is no guarantee that the "binary type" underneath
> them is the same. For example, Foo could be implemented as an 8-bit
> integer, while Bar could be implemented as a 16-bit integer, or maybe
> both could be implemented as (say) 32-bit integers.
>
> Am I right? I tried to do some experiments with gcc and both types
> are  implemented with the same binary type, but it could be only for
> efficiency reasons...

No. I am not a language lawyer, but

    type Foo is new Integer range 0 .. 115;

is a kind of  abbreviation of

    type <anonymous> is new Integer; -- Clone
    subtype Foo is <anonymous> range 0..115; -- Constrain

The relevant point is IMO ARM 3.4 (9)

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2016-06-18 21:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-18 21:26 Curiosity about different integer types mockturtle
2016-06-18 21:57 ` Dmitry A. Kazakov [this message]
2016-06-18 22:04 ` Björn Lundin
2016-06-18 23:05 ` Jeffrey R. Carter
2016-06-20 11:39 ` mockturtle
replies disabled

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