From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 12 Dec 91 15:18:20 GMT From: elroy.jpl.nasa.gov!swrinde!mips!samsung!caen!umeecs!dip.eecs.umich.edu!wa rack@ames.arc.nasa.gov (Christopher Warack) Subject: Re: 'SIZE attribute of a type Message-ID: <1991Dec12.151820.25797@zip.eecs.umich.edu> List-Id: In article <5898@email.sp.unisys.com> parkhill@email.sp.unisys.com (parkhill) w rites: >>parkhill@email.sp.unisys.com (parkhill) writes: >>>Image a compiler was smart enough to understand baised number ranges. >> >>> type b is range 9 .. 10; >>> or >>> type b is range 2**31 - 2 .. 2**31 - 1; >> >> >>>If the compiler can generate code that only uses 1 bit then b'Size >>>should return 1. >> >>Oh, that compilers were so cleverly written! >> > >> Deleted text. > >My point on the compiler having the capability to use one bit is that I >find the utility of type_name'size is now questionable. Lets say the >compiler is capable of using 1 bit but won't do it in most situations. >How can any programmer use type_name'size to any practical purpose? It >seems less useful than Entry_Name'Count. However, I am sure that the >justification for the change to type_name'size is rock solid. Seems to me that the only reason you'd want the minimum number of bits used to represent a type is if you wanted to implement that type with the minimum number of bits allowed, eg, in a maximally packed record using a "somewhat" portable rep clause. (Not the most beautiful piece of code I can imagine). If you wanted to know the number of bits in a certain type of object (e.g, a variable of a type) use object'size -- that's what it's for. -- Chris -- Christopher A. Warack warack@eecs.umich.edu Graduate Dept, EECS (313) 665-4789 University of Michigan