From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,36208f5925ed5269 X-Google-Attributes: gid103376,public From: dennison@telepath.com Subject: Re: non-consecutive ranges Date: 1999/04/30 Message-ID: <7gd2lk$cbs$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 472855152 References: <7gct90$7hr$1@nnrp1.dejanews.com> X-Http-Proxy: 1.0 x12.dejanews.com:80 (Squid/1.1.22) for client 204.48.27.130 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Fri Apr 30 20:09:26 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.5 [en] (WinNT; I) Date: 1999-04-30T00:00:00+00:00 List-Id: In article <7gct90$7hr$1@nnrp1.dejanews.com>, vlight@my-dejanews.com wrote: > > > is there a way to define a variable to have a non-consecutive range? for > instance, let's say i wanted to define variable X with a range from 2 to 1024 > and 4096 to 8192. > > X : Integer range (1 .. 1024) and (4096 .. 8192); > > or something similar to this declaration. in addition to define > non-consecutive ranges, could i define a range of odd numbers? even numbers? > > how would i go about declaring this? There is no language mechanism for inserting "holes" in numeric types. Enumerations with rep clauses can be used to skip over certian actual values (although conceptually there are no "holes" in the enumeration itself). But trying to define an "Odd" type by enumerating every odd integer would be beyond painful. Another possibilty would be to declare a controlled type, and write initialization and all the mathematical and conversion operations you need to ensure that Constraint_Error is raised if the number ever goes even. A third possibility is to bag it and move on... -- T.E.D. -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own