comp.lang.ada
 help / color / mirror / Atom feed
From: mario.blunk.gplus@gmail.com
Subject: Re: type definition for an integer with discrete range
Date: Fri, 29 Mar 2019 09:46:46 -0700 (PDT)
Date: 2019-03-29T09:46:46-07:00	[thread overview]
Message-ID: <70d9f913-d9e1-4849-b730-0ee4ebaaec23@googlegroups.com> (raw)
In-Reply-To: <36c2ff61-8cca-4435-995f-dfc34fa44b69@googlegroups.com>

On Friday, March 29, 2019 at 5:34:24 PM UTC+1, tranng...@gmail.com wrote:
> On Friday, March 29, 2019 at 11:10:42 PM UTC+7, mario.b...@gmail.com wrote:
> > Hello,
> > I'm looking for a way to define a type that runs from let say -100 to +100 with gaps of 5 width. Important is to make sure that a value like 7 can not be assigned to the type.
> > 
> > something like:
> > 
> > type number is new integer range -100 .. 100;
> > -- or
> > subtype number is integer range -100 .. 100;
> > 
> > -- with this special thing or something like that:
> > for number'small use 5; -- can not applied here. works with fixed point types only
> > 
> > Thanks !
> 
> That's a fixed point type.

It is about angles to be correct. The problem is that fixed types are rounded. I tried 

type type_angle is delta 90.0 range -359.9 .. 359.9; -- unit is degrees
for type_angle'small use 90.0;

-- but it is possible to assign a value that is not a multiple of 90 degree and even outside the domain of type_angle:
angle : type_angle := 370.0;

I want a constraint error being raised.

  reply	other threads:[~2019-03-29 16:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-29 16:10 type definition for an integer with discrete range mario.blunk.gplus
2019-03-29 16:34 ` tranngocduong
2019-03-29 16:46   ` mario.blunk.gplus [this message]
2019-03-30  4:17     ` tranngocduong
2019-03-30  4:19       ` tranngocduong
2019-03-29 20:24   ` Simon Wright
2019-03-29 20:51     ` mario.blunk.gplus
2019-03-29 21:24       ` Simon Wright
2019-03-30 20:44         ` mario.blunk.gplus
2019-03-30 22:13           ` Jere
2019-04-01  6:59             ` mario.blunk.gplus
2019-04-01 15:52               ` AdaMagica
2019-04-01 16:27                 ` Simon Wright
2019-04-01 16:41                   ` AdaMagica
2019-03-29 21:57       ` Dmitry A. Kazakov
2019-03-30 21:45 ` John Perry
replies disabled

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