comp.lang.ada
 help / color / mirror / Atom feed
From: mcsun!uknet!yorkohm!minster!mjl-b@uunet.uu.net
Subject: Re: 'SIZE attribute of a type
Date: 10 Dec 91 12:30:37 GMT	[thread overview]
Message-ID: <692368237.5256@minster.york.ac.uk> (raw)

In article <1991Dec7.003222.17204@titan.tsd.arlut.utexas.edu> gardner@tsd.arlut
.utexas.edu (Donald Gardner) writes:
>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!
>
>Consider an application that is transferring data over a slow serial
>channel.  If a compiler used the minimum number of bits needed to
>represent a type and the number of bits used was readily available
>(hopefully from the 'SIZE attribute), the task of maximizing
>communications throughput would be simplified.

Yes, but if you _aren't_ writing a package that transfers data over a slow
serial link, you want fast, efficient code. Using one bit to represent the
above examples is neither fast nor efficient (and it adds to compile time
and compiler complexity).

If you want to use the smallest number of bits (for the transmission
example), then use a 'case' statement and convert it to a packed boolean
yourself. The time taken to do the conversion will be minimal compared to the
time taken to do the transmission.

Mathew

|Mathew Lodge             | "Baldrick, are the words 'I have a cunning plan' |
|mjl-b@minster.york.ac.uk |  heading towards this conversation with ill      |
|Summer: lodge%alsys@uknet|  deserved confidence?" -- Blackadder III         |

             reply	other threads:[~1991-12-10 12:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-12-10 12:30 mcsun!uknet!yorkohm!minster!mjl-b [this message]
  -- strict thread matches above, loose matches on Subject: below --
1991-12-13 17:24 'SIZE attribute of a type elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!ds
1991-12-13 16:00 Alex Blakemore
1991-12-13 15:23 agate!spool.mu.edu!yale.edu!qt.cs.utexas.edu!zaphod.mps.ohio-state.edu!ca
1991-12-12 22:49 Robert I. Eachus
1991-12-12 15:36 elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu
1991-12-12 15:18 elroy.jpl.nasa.gov!swrinde!mips!samsung!caen!umeecs!dip.eecs.umich.edu!wa
1991-12-12  3:17 Mark Biggar
1991-12-11 18:29 elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!gv
1991-12-10  8:23 paul goffin
1991-12-09 13:24 Ed Matthews
1991-12-07  0:32 Donald Gardner
1991-12-06 21:14 Ed Matthews
1991-12-06 21:07 Richard Pattis
1991-12-06 20:15 parkhill
1991-12-06 20:04 parkhill
1991-12-06 18:50 Brian Hanafee
1991-11-14 20:15 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!mips!pacbell.com!iggy.GW.Vit
1991-11-14 19:58 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!mips!pacbell.com!iggy.GW.Vit
1991-11-14 16:45 Danford Lehman
1991-11-13 17:01 elroy.jpl.nasa.gov!sdd.hp.com!mips!zaphod.mps.ohio-state.edu!unix.cis.pit
replies disabled

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