comp.lang.ada
 help / color / mirror / Atom feed
From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: A simple ADA puzzle (I haven't the answer)
Date: Wed, 16 Jun 2004 18:49:54 +0200
Date: 2004-06-16T18:49:54+02:00	[thread overview]
Message-ID: <4156573.X2A1sUPmHW@linux1.krischik.com> (raw)
In-Reply-To: dRZzc.40593$G%.26441@tornado.fastwebnet.it

Abby wrote:

> Hi! I have this code:
> 
>   type LEN_TYPE is array (INTEGER range <>)
>     of CHARACTER;
> 
>   type STRING_TYPE (LEN : INTEGER := 0) is
>     record
>       STRING : LEN_TYPE (1 .. LEN);
>     end record;

STRING_TYPE'Size = (2**32 * 8 + 32);

>   type UNC2_ARRAY_TYPE is array (INTEGER range <>)
>     of STRING_TYPE;
> 
>   type RET2_TYPE (INIT : INTEGER := 0) is
>     record
>       IFOS : UNC2_ARRAY_TYPE (1 .. INIT);
>     end record;

RET2_TYPE'Size = ((2**32 * 8 +32) * (2**32 * 8)) +32;

 
>   type RET_TYPE
>        ( DEF : INTEGER := 0 )
>   is
>     record
>       ID  : INTEGER;
>       IFO : RET2_TYPE (INIT => DEF);
>     end record;

RET_TYPE'Size =  ((2**32 * 8 +32) * (2**32 * 8)) +32 + 2 * 32

>   type UNC_ARRAY_TYPE is
>     array (INTEGER range <>) of
>       RET_TYPE;
> 
> and i'd like to initialize and use a variable of type UNC_ARRAY_TYPE (for
> the unconstraint array and records choose any value you want, al least 1
> :) ). I can say that simply write  VAR : UNC_ARRAY_TYPE (1..3);  gives
> :some
> warning but compiles, but gives also a beautiful constraint_error when you
> use it, obviously. Any ideas? Thanx for your time!

Normalise to byte:

RET_TYPE'Storage_Elements =  ((2**32 +4 ) * (2**32)) +4 + 2 *4
RET_TYPE'Storage_Elements =  ((2**32 +4 ) * (2**32)) +12
RET_TYPE'Storage_Elements = 18.446.744.090.889.420.812

So unless you have 17.179.869.200 GB to spare the program is going to fail.

Try something like:

type Max_Len is range 0 .. 255;

type LEN_TYPE is array (Max_Len range <>)

But this will still be a static solution which will wast lots of memory

Maybe using Ada.Unbounded_Strings it the better option. And some component
library with some form of dynamic Array. There are lots of the around.


With Regards

Martin

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com




  parent reply	other threads:[~2004-06-16 16:49 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-16 15:40 A simple ADA puzzle (I haven't the answer) Abby
2004-06-16 16:21 ` Frank J. Lhota
2004-06-16 16:26   ` Abby
2004-06-16 17:01     ` Frank J. Lhota
2004-06-16 17:18       ` Martin Krischik
2004-06-17  6:57         ` Brian May
2004-06-17 12:44         ` Frank J. Lhota
2004-06-16 17:58     ` Jeffrey Carter
2004-06-23 21:14       ` Randy Brukardt
2004-06-16 19:51     ` Simon Wright
2004-06-16 17:56   ` Jeffrey Carter
2004-06-16 22:25     ` Martin Dowie
2004-06-17  0:41       ` Jeffrey Carter
2004-06-17  7:45         ` Martin Dowie
2004-06-17 14:20     ` Frank J. Lhota
2004-06-18 18:07     ` Wojtek Narczynski
2004-06-18 18:37       ` Frank J. Lhota
2004-06-19  2:11         ` Brian May
2004-06-19 11:25         ` Wojtek Narczynski
2004-06-19  1:27       ` Jeffrey Carter
2004-06-19 11:17         ` Wojtek Narczynski
2004-06-16 18:31   ` Hyman Rosen
2004-06-16 20:16     ` Frank J. Lhota
2004-06-16 21:05       ` Hyman Rosen
2004-06-17 13:26         ` Frank J. Lhota
2004-06-17 14:19           ` Hyman Rosen
2004-06-17 15:24             ` Frank J. Lhota
2004-06-23 21:27               ` Randy Brukardt
2004-06-17 19:17           ` Georg Bauhaus
2004-06-16 22:48     ` Alexander E. Kopilovich
2004-06-17 10:25       ` Björn Persson
2004-06-17 14:33         ` Frank J. Lhota
2004-06-17 23:15           ` Alexander E. Kopilovich
2004-06-23 21:30           ` Randy Brukardt
2004-06-17  8:06     ` Dmitry A. Kazakov
2004-06-17 12:19       ` Hyman Rosen
2004-06-17 14:16         ` Dmitry A. Kazakov
2004-06-17 14:17           ` Hyman Rosen
2004-06-17 22:51           ` Brian May
2004-06-18  7:50             ` Dmitry A. Kazakov
2004-06-18 12:32               ` Hyman Rosen
2004-06-18  9:14           ` Ole-Hjalmar Kristensen
2004-06-18 12:24             ` Hyman Rosen
2004-06-18 12:41             ` Dmitry A. Kazakov
2004-06-18 13:16               ` Hyman Rosen
2004-06-18 14:01                 ` Dmitry A. Kazakov
2004-06-18 16:14                   ` Hyman Rosen
2004-06-19  9:31                     ` Dmitry A. Kazakov
2004-06-21  3:30                       ` Hyman Rosen
2004-06-21  8:16                         ` Dmitry A. Kazakov
2004-06-21 16:32                           ` Hyman Rosen
2004-06-22  2:19                             ` David Starner
2004-06-22 13:03                               ` Frank J. Lhota
2004-06-23 21:37                           ` Randy Brukardt
2004-06-24  8:39                             ` Dmitry A. Kazakov
2004-06-24 20:53                               ` Randy Brukardt
2004-06-25  8:24                                 ` Dmitry A. Kazakov
2004-06-25 17:37                                   ` Randy Brukardt
2004-06-26  7:55                                     ` Dmitry A. Kazakov
2004-06-29  0:08                                       ` Randy Brukardt
2004-06-29  9:32                                         ` Dmitry A. Kazakov
2004-06-29 18:36                                           ` Randy Brukardt
2004-06-23 21:21     ` Randy Brukardt
2004-06-24  1:03       ` Jeffrey Carter
2004-06-24 15:19       ` Frank J. Lhota
2004-06-24 16:04         ` Ed Falis
2004-06-24 21:04           ` Randy Brukardt
2004-06-25 15:30             ` Frank J. Lhota
2004-06-25 18:16               ` Bob Spooner
2004-06-25 19:23                 ` Frank J. Lhota
2004-06-26 15:26                   ` Robert I. Eachus
2004-06-28  4:52                     ` Steve
2004-07-04 19:06                       ` Robert I. Eachus
2004-06-29  0:03                 ` Randy Brukardt
2004-06-24 21:00         ` Randy Brukardt
2004-06-16 16:49 ` Martin Krischik [this message]
2004-06-17 10:58   ` Björn Persson
2004-06-17  3:48 ` Steve
2004-06-17 10:39   ` Björn Persson
  -- strict thread matches above, loose matches on Subject: below --
2004-06-17  8:38 Christoph Karl Walter Grein
2004-06-23 21:43 ` Randy Brukardt
replies disabled

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