comp.lang.ada
 help / color / mirror / Atom feed
From: tranngocduong@gmail.com
Subject: Re: type definition for an integer with discrete range
Date: Fri, 29 Mar 2019 21:17:09 -0700 (PDT)
Date: 2019-03-29T21:17:09-07:00	[thread overview]
Message-ID: <0a988ba4-8e2e-41c5-88de-b126c842e290@googlegroups.com> (raw)
In-Reply-To: <70d9f913-d9e1-4849-b730-0ee4ebaaec23@googlegroups.com>

On Friday, March 29, 2019 at 11:46:48 PM UTC+7, mario.b...@gmail.com wrote:
> 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.

Actually, the domain is approximately [-450.0,+450.0], as pointed out by D. Kazakov.

If you need the domain closer to [-360.0,+360.0], use smaller number'small. 

  reply	other threads:[~2019-03-30  4:17 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
2019-03-30  4:17     ` tranngocduong [this message]
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